Créer une classe Python personnalisée
MLflow permet de créer des modèles personnalisés afin de prendre en charge une grande variété de cas d'utilisation. Pour créer des modèles personnalisés, MLflow permet aux utilisateurs de créer une classe Python qui hérite de la classe mlflow.pyfunc.PythonModel
. La classe PythonModel
permet la personnalisation en fournissant des méthodes pour la logique d'inférence personnalisée et les dépendances d'artefacts.
Dans cet exercice, vous allez créer une nouvelle classe Python pour un modèle personnalisé qui charge un modèle spécifique puis décode les étiquettes après inférence. Le module mlflow
sera importé.
Cet exercice fait partie du cours
Introduction à MLflow
Instructions
- Créez une classe Python portant le nom
CustomPredict
. - Définissez la méthode
load_context()
utilisée pour charger les artefacts dans une classe personnalisée. - Définissez la méthode
predict()
pour définir une inférence personnalisée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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