コンテンツへスキップ

Advanced YOLO11 Experiment Tracking with DVCLive

Experiment tracking in machine learning is critical to model development and evaluation. It involves recording and analyzing various parameters, metrics, and outcomes from numerous training runs. This process is essential for understanding model performance and making data-driven decisions to refine and optimize models.

Integrating DVCLive with Ultralytics YOLO11 transforms the way experiments are tracked and managed. This integration offers a seamless solution for automatically logging key experiment details, comparing results across different runs, and visualizing data for in-depth analysis. In this guide, we'll understand how DVCLive can be used to streamline the process.

DVCライブ

DVCLiveの概要

DVCLive, developed by DVC, is an innovative open-source tool for experiment tracking in machine learning. Integrating seamlessly with Git and DVC, it automates the logging of crucial experiment data like model parameters and training metrics. Designed for simplicity, DVCLive enables effortless comparison and analysis of multiple runs, enhancing the efficiency of machine learning projects with intuitive data visualization and analysis tools.

YOLO11 Training with DVCLive

YOLO11 training sessions can be effectively monitored with DVCLive. Additionally, DVC provides integral features for visualizing these experiments, including the generation of a report that enables the comparison of metric plots across all tracked experiments, offering a comprehensive view of the training process.

インストール

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

インストール

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

For detailed instructions and best practices related to the installation process, be sure to check our YOLO11 Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

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 アカウントのユーザー名に置き換えてください。

使用方法

Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.

Training YOLO11 Models with DVCLive

Start by running your YOLO11 training sessions. You can use different model configurations and training parameters to suit your project needs. For instance:

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

Adjust the model, data, epochs, and imgsz parameters according to your specific requirements. For a detailed understanding of the model training process and best practices, refer to our YOLO11 Model Training guide.

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

DVCLive enhances the training process by enabling the tracking and visualization of key metrics. When installed, Ultralytics YOLO11 automatically integrates with DVCLive for experiment tracking, which you can later analyze for performance insights. For a comprehensive understanding of the specific performance metrics used during training, be sure to explore our detailed guide on performance metrics.

結果の分析

After your YOLO11 training sessions are complete, you can leverage DVCLive's powerful visualization tools for in-depth analysis of the results. DVCLive's integration ensures that all training metrics are systematically logged, facilitating a comprehensive evaluation of your model's performance.

分析を開始するには、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)

The output of the code snippet above provides a clear tabular view of the different experiments conducted with YOLO11 models. Each row represents a different training run, detailing the experiment's name, the number of epochs, image size (imgsz), the specific model used, and the mAP50-95(B) metric. This metric is crucial for evaluating the model's accuracy, with higher values indicating better performance.

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)

After executing this command, DVC generates plots comparing the metrics across different experiments, which are saved as HTML files. Below is an example image illustrating typical plots generated by this process. The image showcases various graphs, including those representing mAP, recall, precision, loss values, and more, providing a visual overview of key performance metrics:

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に直接レンダリングし、可視化された実験データを分析する簡単で便利な方法を提供します。

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

Use the insights gained from these visualizations to make informed decisions about model optimizations, hyperparameter tuning, and other modifications to enhance your model's performance.

実験を繰り返す

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

概要

This guide has led you through the process of integrating DVCLive with Ultralytics' YOLO11. You have learned how to harness the power of DVCLive for detailed experiment monitoring, effective visualization, and insightful analysis in your machine learning endeavors.

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

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

よくあるご質問

How do I integrate DVCLive with Ultralytics YOLO11 for experiment tracking?

Integrating DVCLive with Ultralytics YOLO11 is straightforward. Start by installing the necessary packages:

インストール

pip install ultralytics dvclive

次に、Gitリポジトリを初期化し、DVCLiveをプロジェクトに設定する:

初期環境設定

git init -q
git config --local user.email "you@example.com"
git config --local user.name "Your Name"
dvc init -q
git commit -m "DVC init"

Follow our YOLO11 Installation guide for detailed setup instructions.

Why should I use DVCLive for tracking YOLO11 experiments?

Using DVCLive with YOLO11 provides several advantages, such as:

  • 自動ロギング:DVCLiveは、モデルパラメータやメトリクスのような主要な実験の詳細を自動的に記録します。
  • 簡単な比較:異なる実行結果間の比較が容易。
  • 可視化ツール:DVCLiveの堅牢なデータ可視化機能を活用し、詳細な分析を行います。

For further details, refer to our guide on YOLO11 Model Training and YOLO Performance Metrics to maximize your experiment tracking efficiency.

How can DVCLive improve my results analysis for YOLO11 training sessions?

After completing your YOLO11 training sessions, DVCLive helps in visualizing and analyzing the results effectively. Example code for loading and displaying experiment data:

import dvc.api
import pandas as pd

# Define 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 data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display DataFrame
print(df)

結果をインタラクティブに視覚化するには、Plotlyの平行座標プロットを使用します:

from plotly.express import parallel_coordinates

fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")
fig.show()

Refer to our guide on YOLO11 Training with DVCLive for more examples and best practices.

What are the steps to configure my environment for DVCLive and YOLO11 integration?

To configure your environment for a smooth integration of DVCLive and YOLO11, follow these steps:

  1. 必要なパッケージのインストール:使う pip install ultralytics dvclive.
  2. Gitリポジトリの初期化:走る git init -q.
  3. DVCLiveのセットアップ:実行 dvc init -q.
  4. Gitにコミットする:使う git commit -m "DVC init".

これらの手順により、適切なバージョン管理と実験追跡のセットアップが確実になります。設定の詳細については、設定ガイドをご覧ください。

How do I visualize YOLO11 experiment results using DVCLive?

DVCLive offers powerful tools to visualize the results of YOLO11 experiments. Here's how you can generate comparative plots:

比較プロットの作成

dvc plots diff $(dvc exp list --names-only)

これらのプロットをJupyter Notebookに表示するには、次のようにする:

from IPython.display import HTML

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

These visualizations help identify trends and optimize model performance. Check our detailed guides on YOLO11 Experiment Analysis for comprehensive steps and examples.

📅 Created 10 months ago ✏️ Updated 22 days ago

コメント