Creare una classe Python personalizzata
MLflow offre la possibilità di creare modelli personalizzati per supportare un'ampia varietà di casi d'uso. Per creare modelli personalizzati, MLflow consente agli utenti di creare una classe Python che eredita la classe mlflow.pyfunc.PythonModel. La classe PythonModel offre la possibilità di personalizzare la logica di inferenza e le dipendenze degli artefatti.
In questo esercizio creerai una nuova classe Python per un modello personalizzato che carica un modello specifico e poi decodifica le etichette dopo l'inferenza. Il modulo mlflow verrà importato.
Questo esercizio fa parte del corso
Introduzione a MLflow
Istruzioni dell'esercizio
- Crea una classe Python con il nome
CustomPredict. - Definisce il metodo
load_context()utilizzato per caricare gli artefatti all'interno di una classe personalizzata. - Definisce il metodo
predict()per definire l'inferenza personalizzata.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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