コンテンツへスキップ

DVCLive による高度なYOLOv8 実験トラッキング

機械学習における実験追跡は、モデルの開発と評価に不可欠である。これには、多数のトレーニング実行から得られる様々なパラメータ、メトリクス、結果を記録し、分析することが含まれる。このプロセスは、モデルのパフォーマンスを理解し、モデルを改良・最適化するためのデータ駆動型の意思決定を行うために不可欠です。

DVCLiveと Ultralytics YOLOv8との統合は、実験が追跡され管理される方法を変えます。この統合は、主要な実験の詳細を自動的に記録し、異なる実行間で結果を比較し、詳細な分析のためにデータを可視化するためのシームレスなソリューションを提供します。このガイドでは、プロセスを合理化するためにDVCLiveをどのように使用できるかを理解します。

DVCライブ

DVCLiveの概要

DVCによって開発されたDVCLiveは、機械学習における実験追跡のための革新的なオープンソースツールです。GitとDVCをシームレスに統合し、モデル・パラメータやトレーニング・メトリクスのような重要な実験データのロギングを自動化します。シンプルに設計されたDVCLiveは、直感的なデータの可視化と分析ツールで機械学習プロジェクトの効率を向上させ、複数の実行の楽な比較と分析を可能にします。

YOLOv8 DVCLiveを使ったトレーニング

YOLOv8 トレーニングセッションはDVCLiveで効果的にモニターすることができます。さらに、DVCは、これらの実験を視覚化するための不可欠な機能を提供します。この機能には、追跡されたすべての実験にわたるメトリックプロットの比較を可能にするレポートの生成が含まれ、トレーニングプロセスの包括的なビューを提供します。

インストール

必要なパッケージをインストールするには

インストール

# Install the required packages for YOLOv8 and DVCLive
pip install ultralytics dvclive

インストールプロセスに関する詳細な説明とベストプラクティスについては、YOLOv8 インストールガイドをご覧ください。YOLOv8 に必要なパッケージをインストールする際、何らかの問題が発生した場合は、解決策やヒントについて「よくある問題」ガイドを参照してください。

DVCLiveの設定

必要なパッケージをインストールしたら、次のステップは、必要な認証情報を使用して環境を設定し、構成することです。このセットアップにより、DVCLiveを既存のワークフローにスムーズに統合することができます。

Gitは、あなたのコードとDVCLive設定の両方のバージョン管理で重要な役割を果たすので、Gitリポジトリを初期化することから始めます。

初期環境設定

# Initialize a Git repository
git init -q

# Configure Git with your details
git config --local user.email "you@example.com"
git config --local user.name "Your Name"

# Initialize DVCLive in your project
dvc init -q

# Commit the DVCLive setup to your Git repository
git commit -m "DVC init"

これらのコマンドでは、"you@example.com" を Git アカウントのメールアドレスに、"Your Name" を Git アカウントのユーザー名に置き換えてください。

使用方法

使い方の説明に入る前に、 Ultralytics が提供するYOLOv8 モデルのラインナップをご確認ください。これは、あなたのプロジェクトの要件に最も適したモデルを選択するのに役立ちます。

DVCLive を使ったYOLOv8 モデルのトレーニング

YOLOv8 、トレーニング・セッションを開始します。プロジェクトのニーズに合わせて、様々なモデル構成やトレーニングパラメータを使用することができます。例えば

# Example training commands for YOLOv8 with varying configurations
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=640

モデル、データ、エポック、およびimgszパラメータを特定の要件に応じて調整します。モデルトレーニングプロセスとベストプラクティスの詳細については、YOLOv8 モデルトレーニングガイドを参照してください。

DVCLiveによる実験のモニタリング

DVCLiveは、主要なメトリクスの追跡と可視化を可能にすることで、トレーニングプロセスを強化します。インストールすると、Ultralytics YOLOv8 、自動的にDVCLiveと統合され、実験のトラッキングが可能になります。トレーニング中に使用される特定のパフォーマンス・メトリクスの包括的な理解については、パフォーマンス・メトリクスの詳細なガイドを参照してください。

結果の分析

YOLOv8 トレーニングセッションが終了した後、DVCLive の強力な可視化ツールを活用して、結果を詳細に分析することができます。DVCLiveの統合は、すべてのトレーニングメトリクスが体系的に記録されることを保証し、モデルのパフォーマンスの包括的な評価を容易にします。

分析を開始するには、DVCのAPIを使用して実験データを抽出し、Pandasで処理することで、取り扱いと可視化が容易になります:

import dvc.api
import pandas as pd

# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]

# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)

# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display the DataFrame
print(df)

上記のコード・スニペットの出力は、YOLOv8 モデルで実施されたさまざまな実験の明確な表形式ビューを提供します。各行は異なるトレーニング実行を表し、実験名、エポック数、画像サイズ(imgsz)、使用した特定のモデル、mAP50-95(B)メトリックの詳細が記載されています。このメトリックはモデルの精度を評価するのに重要であり、値が高いほど性能が良いことを示す。

Plotlyによる結果の視覚化

実験結果をよりインタラクティブに視覚的に分析するには、Plotlyの平行座標プロットを使用することができます。このタイプのプロットは、異なるパラメータやメトリクス間の関係やトレードオフを理解するのに特に役立ちます。

from plotly.express import parallel_coordinates

# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")

# Display the plot
fig.show()

上記のコードスニペットの出力は、エポック、画像サイズ、モデルタイプ、およびそれらに対応するmAP50-95(B)スコアの関係を視覚的に表すプロットを生成し、実験データのトレンドやパターンを発見することを可能にします。

DVCによる比較ビジュアライゼーションの生成

DVCは実験の比較プロットを生成する便利なコマンドを提供します。これは、様々なトレーニング実行における異なるモデルのパフォーマンスを比較するのに特に役立ちます。

# Generate DVC comparative plots
dvc plots diff $(dvc exp list --names-only)

このコマンドを実行すると、DVCは異なる実験間のメトリクスを比較するプロットを生成し、HTMLファイルとして保存します。下の画像は、このプロセスによって生成された典型的なプロットを示す例です。この画像は、mAP、リコール、精度、損失値などを表す様々なグラフを示し、主要なパフォーマンス・メトリクスの概要を視覚的に示しています:

DVCライブプロット

DVCプロットの表示

Jupyterノートブックを使用していて、生成されたDVCプロットを表示したい場合は、IPythonの表示機能を使用できます。

from IPython.display import HTML

# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")

このコードは、DVCプロットを含むHTMLファイルをJupyter Notebookに直接レンダリングし、可視化された実験データを分析する簡単で便利な方法を提供します。

データに基づいた意思決定

モデルの最適化、ハイパーパラメータのチューニング、およびモデルのパフォーマンスを向上させるためのその他の修正について、十分な情報に基づいた決定を下すために、これらの可視化から得られた洞察を使用します。

実験を繰り返す

分析に基づいて、実験を繰り返す。モデルの構成、トレーニング・パラメータ、あるいはデータ入力を調整し、トレーニングと分析のプロセスを繰り返します。この反復アプローチが、可能な限り最高のパフォーマンスを得るためにモデルを改良する鍵である。

概要

このガイドでは、DVCLive をUltralytics'YOLOv8 と統合するプロセスを説明しました。詳細な実験モニタリング、効果的な可視化、機械学習における洞察に満ちた分析のために DVCLive のパワーを利用する方法を学びました。

使い方の詳細については、DVCLiveの公式ドキュメントをご覧ください。

さらに、Ultralytics の統合ガイドページで、Ultralytics のその他の統合や機能について調べてみてください。



作成日:2023-11-30 更新日:2024-05-18
作成者:glenn-jocher(1),abirami-vina(1)

コメント