So verwenden Sie Modelle für maschinelles Lernen zur Datenvorhersage in FastAPI
Einführung:
Mit der Entwicklung des maschinellen Lernens erfordern immer mehr Anwendungsszenarien die Integration von Modellen für maschinelles Lernen in tatsächliche Systeme. FastAPI ist ein leistungsstarkes Python-Webframework, das auf einem asynchronen Programmierframework basiert. Es bietet eine einfache und benutzerfreundliche API-Entwicklungsmethode und eignet sich sehr gut zum Erstellen von Vorhersagediensten für maschinelles Lernen. In diesem Artikel wird die Verwendung von Modellen des maschinellen Lernens für die Datenvorhersage in FastAPI vorgestellt und relevante Codebeispiele bereitgestellt.
Teil Eins: Vorbereitung
Bevor wir beginnen, müssen wir einige Vorbereitungen abschließen.
pip install fastapi pip install uvicorn pip install 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)
Teil 2: Erstellen der FastAPI-Anwendung
Nachdem die Vorbereitungen abgeschlossen sind, können wir mit dem Erstellen der FastAPI-Anwendung beginnen.
from fastapi import FastAPI from pydantic import BaseModel # 导入模型 from sklearn.linear_model import LinearRegression
class InputData(BaseModel): input_value: float class OutputData(BaseModel): output_value: float
app = FastAPI()
POST
verwenden, um die Datenvorhersageanfrage zu verarbeiten und InputData
als Eingabedaten der Anfrage verwenden. 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应用的构建后,我们可以运行应用,并测试数据预测的功能。
uvicorn main:app --reload
POST
请求到http://localhost:8000/predict
,并在请求体中传递一个input_value
{ "input_value": 5.0 }
Nach Abschluss der Erstellung der FastAPI-Anwendung können wir die Anwendung ausführen und die Datenvorhersagefunktion testen.
{ "output_value": 10.0 }
Initiieren Sie eine Datenvorhersageanfrage.
POST
-Anfrage an http://localhost:8000/predict
zu senden und einzuschließen Geben Sie im Anforderungshauptteil einen input_value
-Parameter ein. Wenn Sie beispielsweise den folgenden Anfragetext senden:
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
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Modelle des maschinellen Lernens für die Datenvorhersage in FastAPI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!