CommencerCommencer gratuitement

Créer une classe Python personnalisée

MLflow offre un moyen de créer des modèles personnalisés afin de couvrir un large éventail de cas d’usage. Pour créer des modèles personnalisés, MLflow permet aux utilisateurs de définir une classe Python qui hérite de la classe mlflow.pyfunc.PythonModel. La classe PythonModel apporte de la flexibilité en proposant des méthodes pour une logique d’inférence sur mesure et la gestion des dépendances liées aux 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 labels après l’inférence. Le module mlflow sera importé.

Cet exercice fait partie du cours

Introduction à MLflow

Afficher le cours

Instructions

  • Créez une classe Python nommée CustomPredict.
  • Définissez la méthode load_context() utilisée pour charger les artefacts au sein d’une classe personnalisée.
  • Définissez la méthode predict() pour implémenter l’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
Modifier et exécuter le code