In diesem Artikel erfahren Sie, wie Sie mit FastAPI ein trainiertes maschinelles Lernmodell hinter eine saubere, intestine validierte HTTP-API packen, vom Coaching über lokale Exams bis hin zur grundlegenden Produktionshärtung.

Zu den Themen, die wir behandeln werden, gehören:

  • Trainieren, Speichern und Laden einer Scikit-Study-Pipeline zur Inferenz
  • Erstellen einer FastAPI-App mit strenger Eingabevalidierung über Pydantic
  • Offenlegen, Testen und Härten eines Vorhersageendpunkts mit Integritätsprüfungen

Lassen Sie uns diese Techniken erkunden.

Leitfaden für Praktiker des maschinellen Lernens Modellbereitstellung FastAPI

Der Leitfaden für Praktiker des maschinellen Lernens zur Modellbereitstellung mit FastAPI
Bild vom Autor

Wenn Sie ein Modell für maschinelles Lernen trainiert haben, stellt sich häufig die Frage: „Wie nutzen wir es eigentlich?“ Hier stecken viele Praktiker des maschinellen Lernens fest. Nicht weil die Bereitstellung schwierig ist, sondern weil sie oft schlecht erklärt wird. Bei der Bereitstellung geht es nicht um das Hochladen einer .pkl Datei und hoffe, dass es funktioniert. Es bedeutet lediglich, dass ein anderes System Daten an Ihr Modell senden und Vorhersagen zurückerhalten kann. Der einfachste Weg, dies zu tun, besteht darin, Ihr Modell hinter eine API zu stellen. FastAPI vereinfacht diesen Vorgang. Es verbindet maschinelles Lernen und Backend-Entwicklung auf saubere Weise. Es ist schnell und bietet eine automatische API-Dokumentation Swagger-Benutzeroberflächevalidiert Eingabedaten für Sie und sorgt dafür, dass der Code einfach zu lesen und zu warten ist. Wenn Sie bereits Python verwenden, ist die Arbeit mit FastAPI eine Selbstverständlichkeit.

In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie ein Modell für maschinelles Lernen mithilfe von FastAPI bereitstellen. Insbesondere lernen Sie:

  • So trainieren, speichern und laden Sie ein Modell für maschinelles Lernen
  • So erstellen Sie eine FastAPI-App und definieren gültige Eingaben
  • So erstellen und testen Sie einen Vorhersageendpunkt lokal
  • So fügen Sie grundlegende Produktionsfunktionen wie Integritätsprüfungen und Abhängigkeiten hinzu

Fangen wir an!

Schritt 1: Trainieren und Speichern des Modells

Der erste Schritt besteht darin, Ihr maschinelles Lernmodell zu trainieren. Ich trainiere ein Modell, um herauszufinden, wie sich unterschiedliche Hausmerkmale auf den Endpreis auswirken. Sie können jedes Modell verwenden. Erstellen Sie eine Datei mit dem Namen train_model.py:

Nach dem Coaching müssen Sie das Modell speichern.

Führen Sie nun die folgende Zeile im Terminal aus:

Sie verfügen nun über ein trainiertes Modell und eine Vorverarbeitungspipeline, die sicher gespeichert sind.

Schritt 2: Erstellen einer FastAPI-App

Das ist einfacher als Sie denken. Erstellen Sie eine Datei mit dem Namen fundamental.py:

Ihr Modell ist jetzt:

  • Einmal geladen
  • In Erinnerung behalten
  • Bereit, Vorhersagen zu treffen

Dies ist bereits besser als die meisten Einsteigerbereitstellungen.

Schritt 3: Definieren, welche Eingaben Ihr Modell erwartet

Hier scheitern viele Bereitstellungen. Ihr Modell akzeptiert „JSON“ nicht. Es akzeptiert Zahlen in einer bestimmten Struktur. FastAPI verwendet Pydantic, um dies sauber durchzusetzen.

Sie fragen sich vielleicht, was Pydantic ist: Pydantisch ist eine Datenvalidierungsbibliothek, die FastAPI verwendet, um sicherzustellen, dass die von Ihrer API empfangenen Eingaben genau den Erwartungen Ihres Modells entsprechen. Es prüft automatisch Datentypen, erforderliche Felder und Formate, bevor die Anfrage Ihr Modell erreicht.

Dies erledigt zwei Dinge für Sie:

  • Validiert eingehende Daten
  • Dokumentiert Ihre API automatisch

Dies stellt sicher, dass keine Frage mehr gestellt wird: „Warum stürzt mein Modell ab?“ Überraschungen.

Schritt 4: Erstellen des Vorhersageendpunkts

Jetzt müssen Sie Ihr Modell nutzbar machen, indem Sie einen Vorhersageendpunkt erstellen.

Das ist Ihr bereitgestelltes Modell. Sie können jetzt eine POST-Anfrage senden und Vorhersagen zurückerhalten.

Schritt 5: Lokales Ausführen Ihrer API

Führen Sie diesen Befehl in Ihrem Terminal aus:

Öffnen Sie Ihren Browser und gehen Sie zu:

Sie werden sehen:

Führen Sie Ihre API lokal aus

Wenn Sie nicht wissen, was es bedeutet, sehen Sie im Grunde Folgendes:

  • Interaktive API-Dokumente
  • Ein Formular zum Testen Ihres Modells
  • Echtzeitvalidierung

Schritt 6: Testen mit echtem Enter

Um es auszuprobieren, klicken Sie auf den folgenden Pfeil:

Testen mit echten Eingaben: Klicken Sie auf den Pfeil

Klicken Sie anschließend auf „Ausprobieren“.

Testen mit echtem Input: Klicken Sie auf „Ausprobieren“.

Testen Sie es nun mit einigen Daten. Ich verwende die folgenden Werte:

Klicken Sie nun auf Ausführen, um die Antwort zu erhalten.

Testen mit echten Eingaben: Ausführen

Die Antwort lautet:

Ihr Modell akzeptiert jetzt echte Daten, gibt Vorhersagen zurück und ist bereit für die Integration in Apps, Web sites oder andere Dienste.

Schritt 7: Hinzufügen eines Gesundheitschecks

Sie benötigen Kubernetes nicht am ersten Tag, aber bedenken Sie Folgendes:

  • Fehlerbehandlung (falsche Eingaben passieren)
  • Protokollierungsvorhersagen
  • Versionierung Ihrer Modelle (/v1/predict)
  • Endpunkt für die Integritätsprüfung

Zum Beispiel:

Einfache Dinge wie diese sind wichtiger als eine ausgefallene Infrastruktur.

Schritt 8: Hinzufügen einer „Necessities.txt“-Datei

Dieser Schritt sieht klein aus, ist aber eines der Dinge, die Ihnen später im Stillen Stunden ersparen. Ihre FastAPI-App läuft möglicherweise perfekt auf Ihrem Laptop, aber Bereitstellungsumgebungen wissen nicht, welche Bibliotheken Sie verwendet haben, es sei denn, Sie teilen es ihnen mit. Genau das ist es necessities.txt ist für. Es handelt sich um eine einfache Liste von Abhängigkeiten, die Ihr Projekt ausführen muss. Erstellen Sie eine Datei mit dem Namen Anforderungen.txt und füge hinzu:

Wenn nun jemand dieses Projekt einrichten muss, muss er nur die folgende Zeile ausführen:

Dies gewährleistet einen reibungslosen Ablauf des Projekts ohne fehlende Pakete. Die Gesamtstruktur des Projekts sieht in etwa so aus:

Abschluss

Ihr Modell ist erst dann wertvoll, wenn jemand es verwenden kann. FastAPI macht Sie nicht zum Backend-Ingenieur – es beseitigt lediglich die Reibung zwischen Ihrem Modell und der realen Welt. Und sobald Sie Ihr erstes Modell bereitstellen, denken Sie nicht mehr wie „jemand, der Modelle trainiert“, sondern denken wie ein Praktiker, der Lösungen liefert. Bitte vergessen Sie nicht, dies zu überprüfen FastAPI-Dokumentation.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert