Een aangepaste Python-klasse maken
MLflow biedt een manier om aangepaste modellen te maken, zodat je een breed scala aan use-cases kunt ondersteunen. Om custom modellen te maken, laat MLflow gebruikers een Python-klasse maken die erft van de klasse mlflow.pyfunc.PythonModel. De klasse PythonModel biedt maatwerk via methoden voor aangepaste inferentielogica en artifact-afhankelijkheden.
In deze oefening maak je een nieuwe Python-klasse voor een aangepast model dat een specifiek model laadt en daarna labels decodeert na inferentie. De module mlflow wordt geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot MLflow
Oefeninstructies
- Maak een Python-klasse met de naam
CustomPredict. - Definieer de methode
load_context()die wordt gebruikt voor het laden van artifacts binnen een aangepaste klasse. - Definieer de methode
predict()voor het definiëren van aangepaste inferentie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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