CommencezCommencez gratuitement

Créer une classe Python personnalisée

MLflow offre une façon de créer des modèles personnalisés afin de prendre en charge un large éventail de cas d'utilisation. Pour créer ces modèles, MLflow permet aux utilisateurs de définir une classe Python qui hérite de la classe mlflow.pyfunc.PythonModel. La classe PythonModel offre de la flexibilité en fournissant des méthodes pour une logique d'inférence personnalisée et la gestion des dépendances d'artéfacts.

Dans cet exercice, vous allez créer une nouvelle classe Python pour un modèle personnalisé qui charge un modèle précis, puis décode les étiquettes après l'inférence. Le module mlflow sera importé.

Cette activité fait partie du cours

Introduction à MLflow

Voir le cours

Instructions de l’exercice

  • Créez une classe Python nommée CustomPredict.
  • Définissez la méthode load_context() utilisée pour charger les artéfacts dans une classe personnalisée.
  • Définissez la méthode predict() pour spécifier l'inférence personnalisée.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
Modifier et exécuter le code