コンテンツぞスキップ

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 のその他の統合や機胜に぀いお調べおみおください。

よくあるご質問

DVCLive をUltralytics YOLOv8 ず統合しお実隓をトラッキングするにはどうすればよいですか

DVCLive ずUltralytics YOLOv8 の統合は簡単です。必芁なパッケヌゞをむンストヌルするこずから始めたしょう

むンストヌル

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"

セットアップの詳现に぀いおは、YOLOv8 むンストヌルガむドに埓っおください。

YOLOv8 実隓のトラッキングにDVCLiveを䜿う理由は

DVCLiveをYOLOv8 、次のような利点がある

  • 自動ロギングDVCLiveは、モデルパラメヌタやメトリクスのような䞻芁な実隓の詳现を自動的に蚘録したす。
  • 簡単な比范異なる実行結果間の比范が容易。
  • 可芖化ツヌルDVCLiveの堅牢なデヌタ可芖化機胜を掻甚し、詳现な分析を行いたす。

詳现は、YOLOv8 Model TrainingandYOLO Performance Metricsto maximize your experiment tracking efficiencyをご参照ください。

DVCLiveは、YOLOv8 トレヌニングセッションの結果分析をどのように改善できたすか

YOLOv8 トレヌニングセッション終了埌、DVCLive は結果を効果的に芖芚化し、分析するのに圹立ちたす。実隓デヌタをロヌドしお衚瀺するためのコヌド䟋

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()

より倚くの䟋ずベストプラクティスに぀いおは、YOLOv8 DVCLiveを䜿甚したトレヌニングに関するガむドを参照しおください。

DVCLiveずYOLOv8 の統合のために私の環境を構成する手順は䜕ですか

DVCLiveずYOLOv8 をスムヌズに統合するために環境を蚭定するには、以䞋の手順に埓っおください

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

これらの手順により、適切なバヌゞョン管理ず実隓远跡のセットアップが確実になりたす。蚭定の詳现に぀いおは、蚭定ガむドをご芧ください。

DVCLive を䜿っおYOLOv8 の実隓結果を可芖化するには

DVCLiveは、YOLOv8 の実隓結果を芖芚化する匷力なツヌルを提䟛したす。ここでは、比范プロットを䜜成する方法を説明したす

比范プロットの䜜成

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")

これらの可芖化は、トレンドの特定ずモデル性胜の最適化に圹立ちたす。包括的な手順ず䟋に぀いおは、YOLOv8 実隓分析に関する詳现なガむドをご芧ください。



䜜成日2023-11-30 曎新日2024-07-05
䜜成者glenn-jocher(5),abirami-vina(1)

コメント