如何在FastAPI中使用機器學習模型進行資料預測
引言:
隨著機器學習的發展,越來越多的應用場景需要將機器學習模型整合到實際的系統中。 FastAPI是一種基於非同步程式框架的高效能Python web框架,其提供了簡單易用的API開發方式,非常適合用於建立機器學習預測服務。本文將介紹如何在FastAPI中使用機器學習模型進行資料預測,並提供相關的程式碼範例。
第一部分:準備工作
在開始之前,我們需要完成一些準備。
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)
第二部分:建立FastAPI應用程式
在準備工作完成後,我們可以開始建立FastAPI應用程式。
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
方法來處理資料預測請求,並將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 }
{ "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中文網其他相關文章!