PythonライブラリのMLflowに入門してみた

はじめに

  • MLOpsに興味があって、そこでよく出てくるMLFlowがどんなものかを試しに触ってみました。
  • やったことは以下の通りです。

    • MLFlowのページにあるQuickStart(下記URL)を実施してみました。 mlflow.org

      実行環境

  • OS: Windows10

  • Python: 3.9.4

手順とその結果

  1. まずmlflowをインストール

     pip install mlflow
    
    • QuickStartでは他にもいくつかInstallするよう書かれてましたが、とりあえずmlflowだけでもquickstartの内容は実施できました。
  2. 適当にフォルダ(フォルダ名はmlflowにしました)と、その中にpyhtonファイル(ファイル名はquickstart.pyにしました)を作り、quickstart.pyは、以下のように(quickstartに載っているままです)書きます。

     import os
     from random import random, randint
     from mlflow import log_metric, log_param, log_artifacts
    
     if __name__ == "__main__":
         # Log a parameter (key-value pair)
         log_param("param1", randint(0, 100))
    
         # Log a metric; metrics can be updated throughout the run
         log_metric("foo", random())
         log_metric("foo", random() + 1)
         log_metric("foo", random() + 2)
    
         # Log an artifact (output file)
         if not os.path.exists("outputs"):
             os.makedirs("outputs")
         with open("outputs/test.txt", "w") as f:
             f.write("hello world!")
         log_artifacts("outputs")
    
  3. quickstart.pyを実行する

    • quickstart.pyが置いてある場所にmlrunsフォルダとoutputsフォルダが作成されます。
    • 実行後はフォルダの中はこんな感じになっています

        mlflow
        ├ mlruns
        ├ outputs
        └ quickstart.py
      
  4. コマンドプロンプトmlflow uiと打って実行する

    • 実行するとINFO:waitress:Serving on http://~~のような文章が出てきます
  5. その後http://localhost:5000/にアクセスする

    • 問題なく起動すれば次のようなUIが立ち上がります。 いろいろ表示されてます。今はまだ理解が及んでませんが、ひとまずは上手くmlflowで記録を残せているようです。

おわりに

  • quickstart通りに行っただけですが、一応MLFlowに入門できました。
  • 今後は、実際の機械学習プロジェクトに応用させてみたいと思います。