>백엔드 개발 >파이썬 튜토리얼 >FastAPI에서 데이터 예측을 위해 기계 학습 모델을 사용하는 방법

FastAPI에서 데이터 예측을 위해 기계 학습 모델을 사용하는 방법

WBOY
WBOY원래의
2023-07-28 12:45:091102검색

FastAPI에서 데이터 예측을 위해 기계 학습 모델을 사용하는 방법

소개:
기계 학습이 발전함에 따라 점점 더 많은 응용 시나리오에서 기계 학습 모델을 실제 시스템에 통합해야 합니다. FastAPI는 비동기식 프로그래밍 프레임워크를 기반으로 한 고성능 Python 웹 프레임워크로 간단하고 사용하기 쉬운 API 개발 방법을 제공하며 기계 학습 예측 서비스 구축에 매우 적합합니다. 이 기사에서는 FastAPI에서 데이터 예측을 위해 기계 학습 모델을 사용하는 방법을 소개하고 관련 코드 예제를 제공합니다.

파트 1: 준비
시작하기 전에 몇 가지 준비를 완료해야 합니다.

  1. 필요한 라이브러리 설치
    먼저 필요한 라이브러리를 설치해야 합니다. pip 명령을 사용하여 FastAPI, uvicorn 및 scikit-learn과 같은 라이브러리를 설치할 수 있습니다.
pip install fastapi
pip install uvicorn
pip install scikit-learn
  1. 머신러닝 모델 준비
    다음으로 훈련된 머신러닝 모델을 준비해야 합니다. 이번 글에서는 간단한 선형 회귀 모델을 예로 들어보겠습니다. scikit-learn 라이브러리를 사용하여 모델을 구축하고 훈련할 수 있습니다.
from sklearn.linear_model import LinearRegression
import numpy as np

# 构建模型
model = LinearRegression()

# 准备训练数据
X_train = np.array(...).reshape(-1, 1)  # 输入特征
y_train = np.array(...)  # 目标变量

# 训练模型
model.fit(X_train, y_train)

2부: FastAPI 애플리케이션 구축
준비가 완료되면 FastAPI 애플리케이션 구축을 시작할 수 있습니다.

  1. 필요한 라이브러리 가져오기
    먼저 FastAPI, uvicorn 및 방금 훈련한 모델을 포함하여 일부 필수 라이브러리를 가져와야 합니다.
from fastapi import FastAPI
from pydantic import BaseModel

# 导入模型
from sklearn.linear_model import LinearRegression
  1. 입력 및 출력의 데이터 모델 정의
    다음으로 입력 및 출력의 데이터 모델을 정의해야 합니다. 이 기사에서 입력 데이터는 부동 소수점 숫자이고 출력 데이터는 부동 소수점 숫자입니다.
class InputData(BaseModel):
    input_value: float

class OutputData(BaseModel):
    output_value: float
  1. Create FastAPI 애플리케이션 인스턴스
    그러면 FastAPI 인스턴스를 생성할 수 있습니다.
app = FastAPI()
  1. 데이터 예측 경로 정의
    다음으로 데이터 예측 요청을 처리하는 경로를 정의할 수 있습니다. POST 메서드를 사용하여 데이터 예측 요청을 처리하고 InputData를 요청의 입력 데이터로 사용합니다. POST方法来处理数据预测请求,并将InputData作为请求的输入数据。
@app.post('/predict')
async def predict(input_data: InputData):
    # 调用模型进行预测
    input_value = input_data.input_value
    output_value = model.predict([[input_value]])

    # 构造输出数据
    output_data = OutputData(output_value=output_value[0])

    return output_data

第三部分:运行FastAPI应用
在完成FastAPI应用的构建后,我们可以运行应用,并测试数据预测的功能。

  1. 运行FastAPI应用
    在命令行中运行以下命令,启动FastAPI应用。
uvicorn main:app --reload
  1. 发起数据预测请求
    使用工具,如Postman,发送一个POST请求到http://localhost:8000/predict,并在请求体中传递一个input_value
  2. {
        "input_value": 5.0
    }
3부: FastAPI 애플리케이션 실행

FastAPI 애플리케이션 구성이 완료되면 애플리케이션을 실행하고 데이터 예측 기능을 테스트할 수 있습니다.

  1. FastAPI 애플리케이션 실행
    FastAPI 애플리케이션을 시작하려면 명령줄에서 다음 명령을 실행하세요.
{
    "output_value": 10.0
}


데이터 예측 요청 시작

Postman과 같은 도구를 사용하여 http://localhost:8000/predictPOST 요청을 보내고 포함 요청 본문에 input_value 매개변수를 전달하세요.

예를 들어 다음 요청 본문을 보내면

from fastapi import FastAPI
from pydantic import BaseModel
from sklearn.linear_model import LinearRegression
import numpy as np

# 创建模型和训练数据
model = LinearRegression()
X_train = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y_train = np.array([2, 4, 6, 8, 10])
model.fit(X_train, y_train)

# 定义输入输出数据模型
class InputData(BaseModel):
    input_value: float

class OutputData(BaseModel):
    output_value: float

# 创建FastAPI应用实例
app = FastAPI()

# 定义数据预测的路由
@app.post('/predict')
async def predict(input_data: InputData):
    input_value = input_data.input_value
    output_value = model.predict([[input_value]])
    output_data = OutputData(output_value=output_value[0])
    return output_data
🎜🎜예측 결과 보기🎜는 예측 결과가 포함된 응답을 받아야 합니다. 🎜🎜rrreee🎜결론: 🎜이 문서에서는 데이터 예측을 위해 FastAPI에서 기계 학습 모델을 사용하는 방법을 설명합니다. 이 문서의 지침을 따르면 자신의 기계 학습 모델을 FastAPI 애플리케이션에 쉽게 통합하고 예측 서비스를 제공할 수 있습니다. 🎜🎜샘플 코드: 🎜rrreee🎜이 글의 소개와 샘플 코드를 통해 FastAPI에서 데이터 예측을 위한 머신러닝 모델을 성공적으로 활용하실 수 있기를 바랍니다. 나는 당신의 성공을 기원합니다! 🎜

위 내용은 FastAPI에서 데이터 예측을 위해 기계 학습 모델을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.