ホームページ >バックエンド開発 >Python チュートリアル >FastAPI でのデータ予測に機械学習モデルを使用する方法

FastAPI でのデータ予測に機械学習モデルを使用する方法

WBOY
WBOYオリジナル
2023-07-28 12:45:091102ブラウズ

FastAPI でのデータ予測に機械学習モデルを使用する方法

はじめに:
機械学習の発展に伴い、機械学習モデルを実際のシステムに統合する必要があるアプリケーション シナリオがますます増えています。 FastAPI は、非同期プログラミング フレームワークをベースとした高性能 Python Web フレームワークで、シンプルで使いやすい 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. FastAPI アプリケーション インスタンスの作成
    次に、FastAPI のインスタンスを作成できます。
app = FastAPI()
  1. データ予測のルートを定義する
    次に、データ予測のリクエストを処理するルートを定義できます。 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

パート 3: FastAPI アプリケーションの実行
FastAPI アプリケーションの構築が完了したら、アプリケーションを実行してデータ予測機能をテストできます。

  1. FastAPI アプリケーションの実行
    コマンド ラインで次のコマンドを実行して、FastAPI アプリケーションを開始します。
uvicorn main:app --reload
  1. データ予測リクエストを開始する
    Postman などのツールを使用して、POST リクエストを http://localhost に送信します。 8000/predict を指定し、リクエスト本文で input_value パラメータを渡します。

たとえば、次のリクエスト本文を送信します。

{
    "input_value": 5.0
}
  1. 予測結果の表示
    予測結果を含む応答を受け取るはずです。
{
    "output_value": 10.0
}

結論:
この記事では、FastAPI で機械学習モデルを使用してデータ予測を行う方法を紹介します。この記事のガイダンスに従うことで、独自の機械学習モデルを FastAPI アプリケーションに簡単に統合し、予測サービスを提供できます。

サンプル コード:

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

この記事の概要とサンプル コードを通じて、FastAPI でのデータ予測に機械学習モデルをうまく使用できるようになることを願っています。私はあなたの成功を祈って!

以上がFastAPI でのデータ予測に機械学習モデルを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。