Erstellen einer benutzerdefinierten Python-Klasse
MLflow bietet eine Möglichkeit, benutzerdefinierte Modelle zu erstellen, um eine breite Palette von Anwendungsfällen zu unterstützen. Um benutzerdefinierte Modelle zu erstellen, können Benutzer mit MLflow eine Python-Klasse erstellen, die von mlflow.pyfunc.PythonModel
Class erbt. Die Klasse PythonModel
bietet Anpassungsmöglichkeiten, indem sie Methoden für benutzerdefinierte Inferenzlogik und Artefaktabhängigkeiten bereitstellt.
In dieser Übung erstellst du eine neue Python-Klasse für ein benutzerdefiniertes Modell, die ein bestimmtes Modell lädt und nach der Inferenz die Beschriftungen entschlüsselt. 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
load_context()
Methode, die zum Laden von Artefakten innerhalb einer benutzerdefinierten Klasse verwendet wird. - Definiere die Methode
predict()
für die Definition von benutzerdefinierten Schlussfolgerungen.
Interaktive Ü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