MLflow 入门
Weston Bassler
Senior MLOps Engineer
简化与 ML 库集成
简化部署
采用名为"风格(Flavors)"的约定


基于 ML 库编写自定义工具
Flavors 简化自定义代码接入
# 从 mlflow 模块导入某个 flavor
import mlflow.FLAVOR
# 自动记录模型与指标
mlflow.FLAVOR.autolog()
# scikit-learn 内置 flavor
mlflow.sklearn.autolog()
# 导入 scikit-learn import mlflow from sklearn.linear_model import \ LinearRegression# 启用自动记录 mlflow.sklearn.autolog()
# 训练模型
lr = LinearRegression()
lr.fit(X, y)
在 model.fit() 时自动记录模型
MODEL.get_params()
# 训练模型 lr = LinearRegression() lr.fit(X, y)# 获取参数 params = lr.get_params(deep=True)params
{'copy_X': True, 'fit_intercept': True, 'n_jobs': None,
'normalize': 'deprecated', 'positive': False}

# 模型
lr = LinearRegression()
lr.fit(X, y)

# 模型
lr = LinearRegression()
lr.fit(X, y)
模型目录结构:
model/
MLmodel
model.pkl
python_env.yaml
requirements.txt
# 自动记录
mlflow.sklearn.autolog()

artifact_path: model
flavors:
python_function:
env:
virtualenv: python_env.yaml
loader_module: mlflow.sklearn
model_path: model.pkl
predict_fn: predict
python_version: 3.10.8
sklearn:
code: null
pickled_model: model.pkl
serialization_format: cloudpickle
sklearn_version: 1.1.3

MLflow 入门