Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie Modelle des maschinellen Lernens für die Datenvorhersage in FastAPI

So verwenden Sie Modelle des maschinellen Lernens für die Datenvorhersage in FastAPI

WBOY
WBOYOriginal
2023-07-28 12:45:091101Durchsuche

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.

  1. Notwendige Bibliotheken installieren
    Zuerst müssen wir einige notwendige Bibliotheken installieren. Mit dem Befehl pip können Sie Bibliotheken wie FastAPI, uvicorn und scikit-learn installieren.
pip install fastapi
pip install uvicorn
pip install scikit-learn
  1. Bereiten Sie das Modell für maschinelles Lernen vor
    Als nächstes müssen wir ein trainiertes Modell für maschinelles Lernen vorbereiten. In diesem Artikel verwenden wir als Beispiel ein einfaches lineares Regressionsmodell. Mithilfe der scikit-learn-Bibliothek können Modelle erstellt und trainiert werden.
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.

  1. Importieren Sie die erforderlichen Bibliotheken.
    Zuerst müssen wir einige erforderliche Bibliotheken importieren, darunter FastAPI, Uvicorn und das gerade trainierte Modell.
from fastapi import FastAPI
from pydantic import BaseModel

# 导入模型
from sklearn.linear_model import LinearRegression
  1. Definieren Sie das Datenmodell für Eingabe und Ausgabe.
    Als nächstes müssen wir das Datenmodell für Eingabe und Ausgabe definieren. In diesem Artikel sind die Eingabedaten eine Gleitkommazahl und die Ausgabedaten eine Gleitkommazahl.
class InputData(BaseModel):
    input_value: float

class OutputData(BaseModel):
    output_value: float
  1. FastAPI-Anwendungsinstanz erstellen
    Dann können wir eine Instanz von FastAPI erstellen.
app = FastAPI()
  1. Definieren Sie die Route für die Datenvorhersage.
    Als nächstes können wir eine Route definieren, um Anfragen für die Datenvorhersage zu bearbeiten. Wir werden die Methode 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应用的构建后,我们可以运行应用,并测试数据预测的功能。

  1. 运行FastAPI应用
    在命令行中运行以下命令,启动FastAPI应用。
uvicorn main:app --reload
  1. 发起数据预测请求
    使用工具,如Postman,发送一个POST请求到http://localhost:8000/predict,并在请求体中传递一个input_value
  2. {
        "input_value": 5.0
    }
Teil 3: Ausführen der FastAPI-Anwendung

Nach Abschluss der Erstellung der FastAPI-Anwendung können wir die Anwendung ausführen und die Datenvorhersagefunktion testen.

  1. Führen Sie die FastAPI-Anwendung aus.
    Führen Sie den folgenden Befehl in der Befehlszeile aus, um die FastAPI-Anwendung zu starten.
{
    "output_value": 10.0
}


Initiieren Sie eine Datenvorhersageanfrage.

Verwenden Sie ein Tool wie Postman, um eine 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
🎜🎜Vorhersageergebnisse anzeigen🎜, sollten Sie eine Antwort mit den Vorhersageergebnissen erhalten. 🎜🎜rrreee🎜Fazit: 🎜In diesem Artikel wird erläutert, wie Sie Modelle für maschinelles Lernen in FastAPI für die Datenvorhersage verwenden. Wenn Sie die Anleitung in diesem Artikel befolgen, können Sie ganz einfach Ihr eigenes Modell für maschinelles Lernen in Ihre FastAPI-Anwendung integrieren und Vorhersagedienste bereitstellen. 🎜🎜Beispielcode: 🎜rrreee🎜Ich hoffe, dass Sie durch die Einführung und den Beispielcode dieses Artikels Modelle für maschinelles Lernen erfolgreich für die Datenvorhersage in FastAPI verwenden können. Ich wünsche dir viel Erfolg! 🎜

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn