[python] FastAPI에서 머신러닝 모델 배포하기
이 블로그 포스트에서는 FastAPI를 사용하여 머신러닝 모델을 배포하는 방법에 대해 알아보겠습니다.
FastAPI란?
FastAPI는 빠르고, 사용하기 쉽고, 현대적인 (파이썬 3.7+) 웹 프레임워크입니다. FastAPI는 Starlette 및 Pydantic을 기반으로 하며, 뛰어난 성능과 사용이 편리한 API 작성을 제공합니다.
머신러닝 모델 준비하기
사전 훈련된 머신러닝 모델을 가지고 있다고 가정하겠습니다. 여기에서는 간단한 이미지 분류 모델을 예로 들겠습니다.
# 머신러닝 모델 예시
import joblib
# 모델 불러오기
model = joblib.load('model.pkl')
# 이미지 예측
def predict_image(image):
prediction = model.predict(image)
return prediction
FastAPI 서버 만들기
FastAPI를 사용하여 간단한 웹 서버를 만들어보겠습니다.
from fastapi import FastAPI
# FastAPI 앱 인스턴스 생성
app = FastAPI()
# 이미지 예측 엔드포인트
@app.post("/predict")
async def predict(image):
prediction = predict_image(image)
return {"prediction": prediction}
모델 배포하기
이제 FastAPI 서버에 머신러닝 모델을 통합해보겠습니다.
# 머신러닝 모델 통합
from fastapi import FastAPI, UploadFile, File
import joblib
app = FastAPI()
model = joblib.load('model.pkl')
@app.post("/predict")
async def predict(file: UploadFile = File(...)):
contents = await file.read()
prediction = model.predict(contents)
return {"prediction": prediction}
결론
FastAPI를 사용하여 머신러닝 모델을 배포하는 방법에 대해 알아보았습니다. FastAPI는 간결한 문법과 높은 성능을 제공하여 머신러닝 모델을 쉽게 웹 서비스로 배포할 수 있습니다.
더 많은 정보를 원하시거나 FastAPI에 대해 더 알아보고 싶으시다면 FastAPI 공식 문서를 확인해보세요!