Crear una clase Python personalizada
MLflow proporciona una forma de crear modelos personalizados para dar soporte a una amplia variedad de casos de uso. Para crear modelos personalizados, MLflow permite a los usuarios crear una Clase Python que hereda de la Clase mlflow.pyfunc.PythonModel
. La clase PythonModel
permite la personalización proporcionando métodos para la lógica de inferencia personalizada y las dependencias de artefactos.
En este ejercicio, crearás una nueva Clase Python para un modelo personalizado que carga un modelo específico y luego decodifica las etiquetas tras la inferencia. Se importará el módulo mlflow
.
Este ejercicio forma parte del curso
Introducción a MLflow
Instrucciones del ejercicio
- Crea una Clase Python con el nombre
CustomPredict
. - Define el método
load_context()
utilizado para cargar artefactos dentro de una Clase personalizada. - Define el método
predict()
para definir la inferencia personalizada.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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