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
<Kurs>Einführung in MLflow</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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