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
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