目次
python でmlflow使うメモ
実験結果を比較するために便利っぽいのでmlflow を使ってみた。
パラメータと実験結果の記録をある程度自動化できる。
機械学習の実践はある種の黒魔術となることが多いので再現性を担保するための努力は後々に影響する。
使う際の手順をメモしておく。
mlflow のインストール
pip でインストールできる。
pip install mlflow
クイックスタート
pythonで以下のような記述を用いる。
with mlflow.start_run():
mlflow.log_param("a", 1)
mlflow.log_metric("b", 2)
mlflow.log_artifact("output.txt")
log_paramにはパラメータを入れる。
log_metricには損失関数や評価指標を入れる。valueには数値しか受け付けない。
log_params({“example”:hoge,“example2”:True})の方が便利。 同様にlog_metricsもある。
log_artifact でファイルを保存できる(csvやjsonなど)。metricの書式に当てはまらないものをこちらで保存する。
実験の種類ごとに枠を作る
CLI で以下を実行してexperimentを作成する。
mlflow experiments create --experiment-name fraud-detection
CLI でexperimentが作成されたことを確認。
experiment _idをメモしておく。
mlflow experiments list
以下のようにpythonで記述して、experimentを指定する。
mlflow.set_experiment('experiment_name')
with mlflow.start_run():
mlflow.log_param("a", 1)
mlflow.log_metric("b", 2)
mlflow.log_artifact("output.txt")
実験結果の比較
CLIでサーバーを立ち上げる。
mlflow ui
表示されたアドレスをブラウザで開く。
サーバーを落とす時はctrl+c。