MLflow 入門
Weston Bassler
Senior MLOps Engineer
MLライブラリ連携を簡素化
デプロイを簡素化
「フレーバー」という規約


MLライブラリのカスタムツールを作成
フレーバーでカスタムコード対応を簡素化
# mlflow モジュールからフレーバーをインポート
import mlflow.FLAVOR
# モデルと指標を自動でログ
mlflow.FLAVOR.autolog()
# scikit-learn の組み込みフレーバー
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 入門