LoslegenKostenlos loslegen

Erstellen einer benutzerdefinierten Python-Klasse

MLflow bietet die Möglichkeit, benutzerdefinierte Modelle zu erstellen, um eine große Bandbreite an Anwendungsfällen zu unterstützen. Für benutzerdefinierte Modelle können Nutzerinnen und Nutzer eine Python-Klasse erstellen, die von der Klasse mlflow.pyfunc.PythonModel erbt. Die Klasse PythonModel erlaubt Anpassungen, indem sie Methoden für benutzerdefinierte Inferenzlogik und Artefakt-Abhängigkeiten bereitstellt.

In dieser Übung erstellst du eine neue Python-Klasse für ein benutzerdefiniertes Modell, das ein bestimmtes Modell lädt und nach der Inferenz Labels dekodiert. Das Modul mlflow wird importiert.

Diese Übung ist Teil des Kurses

Einführung in MLflow

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Python-Klasse mit dem Namen CustomPredict.
  • Definiere die Methode load_context() zum Laden von Artefakten innerhalb einer benutzerdefinierten Klasse.
  • Definiere die Methode predict() für benutzerdefinierte Inferenz.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create Python Class
class ____(mlflow.pyfunc.PythonModel):
    # Set method for loading model
    def ____(self, context):
        self.model = mlflow.sklearn.load_model("./lr_model/")
    # Set method for custom inference     
    def ____(self, context, model_input):
        predictions = self.model.predict(model_input)
        decoded_predictions = []  
        for prediction in predictions:
            if prediction == 0:
                decoded_predictions.append("female")
            else:
                decoded_predictions.append("male")
        return decoded_predictions
Code bearbeiten und ausführen