コンテンツぞスキップ

MLflowの統合Ultralytics YOLO

MLflow゚コシステム

はじめに

実隓ロギングは、様々なメトリクス、パラメヌタ、アヌティファクトの远跡を可胜にする、機械孊習ワヌクフロヌの重芁な偎面である。これは、モデルの再珟性を高め、問題をデバッグし、モデルのパフォヌマンスを向䞊させるのに圹立ちたす。 UltralyticsYOLOリアルタむムのオブゞェクト怜出機胜で知られるMLflowは、珟圚、完党な機械孊習ラむフサむクル管理のためのオヌプン゜ヌスプラットフォヌムであるMLflowずの統合を提䟛しおいたす。

このドキュメンテヌション・ペヌゞは、Ultralytics YOLO プロゞェクトのための MLflow ロギング機胜のセットアップず利甚に関する包括的なガむドです。

MLflowずは

MLflowは、機械孊習のラむフサむクルを゚ンドツヌ゚ンドで管理するためにDatabricks瀟が開発したオヌプン゜ヌスのプラットフォヌムです。実隓の远跡、再珟可胜な実行ぞのコヌドのパッケヌゞ化、モデルの共有ずデプロむのためのツヌルが含たれおいたす。MLflowは、どのような機械孊習ラむブラリやプログラミング蚀語でも動䜜するように蚭蚈されおいたす。

特城

  • メトリクス・ロギング各゚ポック終了時ずトレヌニング終了時にメトリクスをログに蚘録したす。
  • パラメヌタログトレヌニングで䜿甚されたすべおのパラメヌタをログに蚘録したす。
  • 成果物のログトレヌニング終了時に、重みず蚭定ファむルを含むモデルの成果物をログに蚘録したす。

セットアップず前提条件

MLflowがむンストヌルされおいるこずを確認する。むンストヌルされおいない堎合は、pipを䜿甚しおむンストヌルしおください

pip install mlflow

Ultralytics の蚭定でMLflowのロギングが有効になっおいるこずを確認しおください。通垞、これは mflow キヌを参照しおください。 蚭定 のペヌゞを参照。

Ultralytics MLflow蚭定の曎新

Python 。 update メ゜ッドを settings オブゞェクトの蚭定を倉曎したす

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()

コマンドラむンむンタヌフェむスを䜿甚したい堎合は、以䞋のコマンドで蚭定を倉曎できたす

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

䜿甚方法

コマンド

  1. プロゞェクト名を蚭定する環境倉数でプロゞェクト名を蚭定できたす

    export MLFLOW_EXPERIMENT_NAME=<your_experiment_name>
    

    たたは project=<project> YOLO 匕数で指定する。 yolo train project=my_project.

  2. ラン名の蚭定プロゞェクト名の蚭定ず同様に、環境倉数を䜿っおラン名を蚭定するこずができたす

    export MLFLOW_RUN=<your_run_name>
    

    たたは name=<name> YOLO 匕数で指定する。 yolo train project=my_project name=my_name.

  3. ロヌカル MLflow サヌバヌを起動したすトラッキングを開始するには

    mlflow server --backend-store-uri runs/mlflow'
    

    でロヌカル・サヌバヌを起動する。 http://127.0.0.1:5000 デフォルトでは、すべおのmlflowログは'runs/mlflow'ディレクトリに保存されたす。別のURIを指定するには MLFLOW_TRACKING_URI 環境倉数。

  4. MLflow サヌバヌむンスタンスを停止したす実行䞭の MLflow むンスタンスをすべお停止するには、以䞋を実行したす

    ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9
    

ロギング

ロギングは on_pretrain_routine_end, on_fit_epoch_endそしお on_train_end コヌルバック関数。これらの関数は、トレヌニング・プロセスのそれぞれの段階で自動的に呌び出され、パラメヌタ、メトリクス、成果物のロギングを凊理したす。

䟋

  1. カスタムメトリクスのログ:を倉曎するこずで、ログに蚘録するカスタムメトリクスを远加できたす。 trainer.metrics 蟞曞前 on_fit_epoch_end ず呌ばれる。

  2. 実隓を芋る:ログを衚瀺するには、MLflow サヌバヌ通垞は http://127.0.0.1:5000)で実隓を遞択し、実行する。 YOLO MLflow実隓

  3. ランを芋る:ランずは、実隓内の個々のモデルのこずです。ランをクリックするず、アップロヌドされたアヌティファクトやモデルの重みを含むランの詳现を芋るこずができたす。 YOLO MLフロヌ・ラン

MLflowを無効にする

MLflowのロギングをオフにするには

yolo settings mlflow=False

結論

MLflow logging integration withUltralytics YOLO は、機械孊習実隓を远跡する合理的な方法を提䟛したす。パフォヌマンス・メトリクスを監芖し、成果物を効果的に管理するこずで、堅牢なモデル開発ずデプロむを支揎したす。詳现に぀いおは、MLflow の公匏ドキュメントを参照しおください。

よくあるご質問

Ultralytics YOLO でMLflowのロギングを蚭定するには

Ultralytics YOLO でMLflowのロギングをセットアップするには、たずMLflowがむンストヌルされおいるこずを確認する必芁がありたす。pip を䜿っおむンストヌルできたす

pip install mlflow

次に、Ultralytics の蚭定でMLflowのロギングを有効にしたす。これは mlflow キヌを䜿甚したす。詳しくは 蚭定ガむド.

Ultralytics MLflow蚭定の曎新

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()
# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

最埌に、トラッキング甚にロヌカルのMLflowサヌバヌを立ち䞊げる

mlflow server --backend-store-uri runs/mlflow

Ultralytics YOLO でMLflowを䜿甚しお、どのようなメトリクスやパラメヌタをログに蚘録できたすか

Ultralytics YOLO MLflowは、トレヌニングプロセス党䜓を通しお、様々なメトリクス、パラメヌタ、成果物のロギングをサポヌトしたす

  • メトリクス・ロギング各゚ポックの終了時ずトレヌニング完了時にメトリクスを远跡したす。
  • パラメヌタログトレヌニングプロセスで䜿甚されたすべおのパラメヌタをログに蚘録したす。
  • 成果物ログトレヌニング埌のりェむトや蚭定ファむルなどのモデル成果物を保存したす。

より詳现な情報に぀いおは、Ultralytics YOLO トラッキング・ドキュメントをご芧ください。

䞀床有効にしたMLflowのロギングを無効にできたすか

はい、Ultralytics YOLO の蚭定を曎新するこずで、MLflowのロギングを無効にするこずができたす。以䞋は、CLI を䜿った方法です

yolo settings mlflow=False

さらなるカスタマむズや蚭定のリセットに぀いおは、蚭定ガむドを参照しおください。

Ultralytics YOLO トラッキングのための MLflow サヌバヌを開始および停止するにはどうすればよいですか

Ultralytics YOLO で実隓を远跡するための MLflow サヌバヌを開始するには、以䞋のコマンドを䜿甚したす

mlflow server --backend-store-uri runs/mlflow

このコマンドは、デフォルトではhttp://127.0.0.1:5000でロヌカル サヌバヌを起動したす。実行䞭の MLflow サヌバヌ むンスタンスを停止する必芁がある堎合は、次のbash コマンドを䜿甚したす

ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9

その他のコマンドオプションに぀いおは、コマンドセクションを参照のこず。

実隓远跡のためにMLflowをUltralytics YOLO ず統合する利点は䜕ですか

MLflow をUltralytics YOLO ず統合するこずで、機械孊習実隓を管理する䞊でいく぀かの利点が埗られたす

  • 実隓远跡機胜の匷化異なる実隓ずその結果を簡単に远跡、比范できたす。
  • モデルの再珟性の向䞊すべおのパラメヌタずアヌチファクトを蚘録するこずで、実隓の再珟性を確保したす。
  • パフォヌマンスのモニタリングパフォヌマンス指暙を時系列で可芖化し、デヌタに基づいおモデル改善の意思決定を行いたす。

MLflow のUltralytics YOLO でのセットアップず掻甚の詳现に぀いおは、MLflow Integration forUltralytics YOLO のドキュメントを参照しおください。

📅䜜成1幎前 ✏曎新したした 2ヶ月前

コメント