Вступ до MLflow
Weston Bassler
Senior MLOps Engineer
NLP — токенайзер(и)
Класифікація — кодувальник міток
Перед/післяобробка
Не вбудований flavor

Вбудований flavor — python_function
mlflow.pyfunc
save_model()log_model()load_model()Власний клас моделі
MyClass(mlflow.pyfunc.PythonModel)Клас PythonModel
load_context() — завантажує артефакти, коли викликають mlflow.pyfunc.load_model()predict() — приймає вхід і виконує визначене користувачем оцінювання# Клас class MyPythonClass:# Функція, що друкує Hello! def my_func(): print("Hello!")
# Створення нового об'єкта x = MyPythonClass()# Виконати функцію my_func x.my_func()
"Hello!"
import mlflow.pyfunc # Визначте клас моделі class CustomPredict(mlflow.pyfunc.PythonModel):# Завантажити артефакти def load_context(self, context): self.model = mlflow.sklearn.load_model(context.artifacts["custom_model"])# Оцінити вхід за допомогою custom_function() def predict(self, context, model_input): prediction = self.model.predict(model_input) return custom_function(prediction)
# Зберегти модель у локальну файлову систему
mlflow.pyfunc.save_model(path="custom_model", python_model=CustomPredict())
# Залогувати модель у MLflow Tracking
mlflow.pyfunc.log_model(artifact_path="custom_model", python_model=CustomPredict())
# Завантажити модель з локальної файлової системи
mlflow.pyfunc.load_model("local")
# Завантажити модель з MLflow Tracking
mlflow.pyfunc.load_model("runs:/run_id/tracking_path")
mlflow.evaluate() — продуктивність на наборі даних
Моделі регресії та класифікації
# Тренувальні дані X_train, X_test, y_train, y_test = \ train_test_split(X, y, train_size=0.7,random_state=0)# Модель лінійної регресії lr = LinearRegression() lr.fit(X_train, y_train)
# Набір даних eval_data = X_test eval_data["test_label"] = y_test# Оцінити модель на наборі даних mlflow.evaluate( "runs:/run_id/model", eval_data, targets="test_label", model_type="regressor" )


Вступ до MLflow