Створення власного класу Python
MLflow надає спосіб створювати власні моделі, щоб підтримувати широкий спектр сценаріїв використання. Для цього MLflow дозволяє створити клас Python, який наслідує клас mlflow.pyfunc.PythonModel. Клас PythonModel дає змогу налаштовувати модель, надаючи методи для власної логіки інференсу та залежностей від артефактів.
У цій вправі ви створите новий клас Python для користувацької моделі, яка завантажує конкретну модель, а потім декодує мітки після інференсу. Модуль mlflow буде імпортовано.
Ця вправа є частиною курсу
Вступ до MLflow
Інструкції до вправи
- Створіть клас Python з назвою
CustomPredict. - Визначте метод
load_context(), який використовується для завантаження артефактів у межах користувацького класу. - Визначте метод
predict()для реалізації користувацького інференсу.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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