[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 공식 문서를 확인해보세요!