MLflow 入門
Weston Bassler
Senior MLOps Engineer

保存
ログ
読み込み

# モデルをローカルに保存
mlflow.sklearn.save_model(model, path)
# モデルを MLflow Tracking にアーティファクトとして記録
mlflow.sklearn.log_model(model, artifact_path)
# ローカルまたは MLflow Tracking から読み込み
mlflow.sklearn.load_model(model_uri)
ローカルファイルシステム - relative/path/to/local/model または /Users/me/path/to/local/model
MLflow Tracking - runs:/<mlflow_run_id>/run-relative/path/to/model
S3対応 - s3://my_bucket/path/to/model
# モデル lr = LogisticRegression() lr.fit(X, y)# モデルをローカル保存 mlflow.sklearn.save_model(lr, "local_path")
ls local_path/
MLmodel model.pkl requirements.txt python_env.yaml
# ローカルパスから読み込み model = mlflow.sklearn.load_model("local_path")# モデル表示 model
LogisticRegression()
# モデル lr = LogisticRegression(n_jobs=n_jobs) lr.fit(X, y)# モデルをログ出力 mlflow.sklearn.log_model(lr, "tracking_path")

# runs の形式
runs:/<mlflow_run_id>/run-relative/path/to/model
# 直近のアクティブな Run を取得 run = mlflow.last_active_run()run
<Run: data=<RunData: metrics={}, params={},
tags={'mlflow.runName': 'run_name'}>,
info=<RunInfo: artifact_uri='uri', end_time='end_time',
experiment_id='0', lifecycle_stage='active', run_id='run_id',
run_name='name', run_uuid='run_uuid', start_time=start_time,
status='FINISHED', user_id='user_id'>>
# 直近のアクティブな Run を取得
run = mlflow.last_active_run()
# 直近の run_id を表示
run.info.run_id
'8c2061731caf447e805a2ac65630e70c'
# 直近のアクティブな Run を取得 run = mlflow.last_active_run()# run_id 変数を設定 run_id = run.info.run_idrun_id
'8c2061731caf447e805a2ac65630e70c'
# f-string で run_id を渡す model = mlflow.sklearn.load_model(f"runs:/{run_id}/tracking_path")# モデル表示 model
LogisticRegression()
MLflow 入門