Weights & BiasesによるYOLOの実験追跡と可視化#
物体検出モデル、たとえばUltralytics YOLO26のようなモデルは、多くのコンピュータービジョンアプリケーションに欠かせない存在となっています。しかし、こうした複雑なモデルのトレーニング、評価、デプロイには、いくつもの課題があります。主要なトレーニング指標の追跡、モデルのバリエーションの比較、モデルの挙動の分析、問題の検出には、多くの計測機能と実験管理が必要です。
視聴: Weights and BiasesでUltralytics YOLO26を使用する方法
このガイドでは、実験追跡、モデルチェックポイントの管理、モデル性能の可視化を強化するための、Ultralytics YOLO26とWeights & Biasesの連携を紹介します。また、Weights & Biasesのインタラクティブ機能を使った連携の設定、トレーニング、結果の可視化についても説明します。
Weights & Biases#
Weights & Biasesは、機械学習オペレーション(MLOps)プラットフォームであり、機械学習の実験を追跡、可視化、管理するために設計されています。実験の完全な再現性を実現するトレーニング指標の自動ログ記録、データ分析を効率化するインタラクティブなUI、さまざまな環境へのデプロイに役立つ効率的なモデル管理ツールを備えています。
Weights & Biasesを使ったYOLO26のトレーニング#
Weights & Biasesを使用すると、YOLO26のトレーニングプロセスを効率化し、自動化できます。この連携により、実験の追跡やモデルの比較が可能になり、データに基づく意思決定を通じてコンピュータービジョンプロジェクトを改善できます。
インストール#
必要なパッケージをインストールするには、次を実行します。
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb
# Enable W&B logging for Ultralytics
yolo settings wandb=Trueインストール手順とベストプラクティスの詳細については、YOLO26インストールガイドをご確認ください。YOLO26に必要なパッケージのインストールで問題が発生した場合は、解決策とヒントを掲載したよくある問題のガイドをご覧ください。
Weights & Biasesの設定#
必要なパッケージをインストールしたら、次にWeights & Biases環境を設定します。これには、Weights & Biasesアカウントの作成と、開発環境とW&Bプラットフォームをスムーズに接続するために必要なAPIキーの取得が含まれます。
まず、ワークスペースでWeights & Biases環境を初期化します。次のコマンドを実行し、表示される手順に従ってください。
import wandb
# Weights & Biases環境を初期化します
wandb.login(key="YOUR_API_KEY")Weights & Biasesの認証ページにアクセスして、APIキーを作成し、取得してください。プロンプトが表示されたら、このキーを使用して環境をW&Bで認証します。
使い方:Weights & Biasesを使ったYOLO26のトレーニング#
Weights & Biasesを使ったYOLO26モデルのトレーニング方法を確認する前に、Ultralyticsが提供するYOLO26モデルをご覧ください。プロジェクトの要件に最適なモデルを選ぶ際に役立ちます。
from ultralytics import YOLO
# YOLOモデルを読み込む
model = YOLO("yolo26n.pt")
# モデルのトレーニングとファインチューニング
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")W&Bの引数#
| 引数 | デフォルト | 説明 |
|---|---|---|
| project | None | ローカルとW&Bに記録するプロジェクト名を指定します。複数の実行をまとめて管理できます。指定しない場合、W&Bの実行はUltralyticsプロジェクトに記録されます。 |
| name | None | トレーニング実行の名前です。サブフォルダーの作成に使用する名前と、W&Bのログ記録に使用する名前を指定します。 |
| save | True | ベストチェックポイントをW&Bのモデルアーティファクトとしてアップロードするかどうかを指定します。 |
UltralyticsでWeights & Biasesのログ記録を有効または無効にするには、yolo settingsコマンドを使用します。デフォルトでは、Weights & Biasesのログ記録は無効です。
# Enable Weights & Biases logging
yolo settings wandb=True
# Disable Weights & Biases logging
yolo settings wandb=False出力の解説#
上記の使用例のコードスニペットを実行すると、次のような主要な出力が表示されます。
- 固有のIDを持つ新しい実行が設定され、トレーニングプロセスの開始を示します。
- レイヤー数やパラメーター数を含む、モデル構造の簡潔な概要です。
- 各トレーニングエポックで、box loss、cls loss、box-distance loss、適合率、再現率、mAPスコアなどの重要な指標が定期的に更新されます。
- トレーニングの最後に、モデルの推論速度や全体的な精度指標など、詳細な指標が表示されます。
- トレーニングプロセスの詳細な分析と可視化に利用できるWeights & Biasesダッシュボードへのリンクと、ローカルログファイルの保存場所に関する情報が表示されます。
Weights & Biasesダッシュボードの表示#
使用例のコードスニペットを実行すると、出力に表示されるリンクからWeights & Biases(W&B)ダッシュボードにアクセスできます。このダッシュボードでは、YOLO26モデルのトレーニングプロセスを包括的に確認できます。
Weights & Biasesダッシュボードの主な機能#
-
リアルタイムの指標追跡:トレーニング中に変化する損失、精度、検証スコアなどの指標を確認し、モデル調整にすぐに役立つ情報を得られます。Weights & Biasesを使った実験追跡の方法をご覧ください。
-
ハイパーパラメーターの最適化:Weights & Biasesは、学習率、バッチサイズなどの重要なパラメーターの調整を支援し、YOLO26の性能を向上させます。特定のデータセットやタスクに最適な設定を見つけるのに役立ちます。
-
比較分析:このプラットフォームでは、異なるトレーニング実行を並べて比較できます。さまざまなモデル設定の影響を評価し、どの変更が性能向上につながるかを把握するうえで重要です。
-
トレーニング進捗の可視化:主要な指標をグラフで表示することで、エポックごとのモデル性能を直感的に把握できます。Weights & Biasesを使って検証結果を可視化する方法をご覧ください。
-
リソースのモニタリング:CPU、GPU、メモリの使用状況を追跡してトレーニングプロセスの効率を最適化し、ワークフローにおける潜在的なボトルネックを特定できます。
-
モデルアーティファクトの管理:モデルチェックポイントにアクセスして共有できるため、複雑なプロジェクトでのデプロイやチームメンバーとの共同作業が容易になります。
これらの機能を使うと、YOLO26モデルのトレーニングを効果的に追跡、分析、最適化でき、物体検出タスクで最高の性能と効率を実現できます。
概要#
このガイドでは、Ultralytics YOLOとWeights & Biasesの連携について説明しました。この連携により、モデルのトレーニングや予測結果を効率的に追跡し、可視化できることを紹介しました。W&Bの強力な機能を活用すると、機械学習のワークフローを効率化し、データに基づく意思決定を行い、モデルの性能を向上させることができます。
使い方の詳細については、Weights & Biasesの公式ドキュメントをご覧いただくか、この連携に関するYOLO VISION 2023でのSoumik Rakshitの発表をご覧ください。
また、Ultralyticsの連携ガイドページもぜひご覧ください。MLflowやComet MLなど、さまざまな連携について詳しく確認できます。
よくある質問#
Weights & BiasesをUltralytics YOLO26に連携するには、次の手順を実行します。
-
必要なパッケージをインストールします。
pip install -U ultralytics wandb yolo settings wandb=True -
Weights & Biasesアカウントにログインします。
import wandb wandb.login(key="YOUR_API_KEY") -
W&Bのログ記録を有効にして、YOLO26モデルをトレーニングします。
from ultralytics import YOLO model = YOLO("yolo26n.pt") model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")
これにより、指標、ハイパーパラメーター、モデルアーティファクトがW&Bプロジェクトに自動的に記録されます。
-
主な機能は次のとおりです。
- トレーニング中のリアルタイムな指標追跡
- ハイパーパラメーター最適化ツール
- 異なるトレーニング実行の比較分析
- グラフによるトレーニング進捗の可視化
- リソースのモニタリング(CPU、GPU、メモリ使用量)
- モデルアーティファクトの管理と共有
これらの機能により、実験の追跡、モデルの最適化、YOLO26プロジェクトでの共同作業の効率化が可能になります。
W&B連携を有効にしてトレーニングスクリプトを実行した後、次の手順に従います。
- コンソール出力にW&Bダッシュボードへのリンクが表示されます。
- リンクをクリックするか、wandb.aiにアクセスしてアカウントにログインします。
- プロジェクトに移動すると、詳細な指標、可視化、モデル性能データを確認できます。
ダッシュボードではモデルのトレーニングプロセスに関する情報を確認できるため、YOLO26モデルを効果的に分析し、改善できます。
はい。次のコマンドを使用して、W&Bのログ記録を無効にできます。
yolo settings wandb=Falseログ記録を再度有効にするには、次を使用します。
yolo settings wandb=Trueこの方法なら、トレーニングスクリプトを変更せずに、W&Bのログ記録を使用するタイミングを制御できます。
Weights & Biasesは、次の方法でYOLO26モデルの最適化を支援します。
- トレーニング指標を詳細に可視化します
- 異なるモデルバージョンを簡単に比較できます
- ハイパーパラメーター調整のためのツールを提供します
- モデル性能の共同分析を可能にします
- モデルアーティファクトや結果を簡単に共有できます
これらの機能により、研究者や開発者はより迅速に反復作業を行い、データに基づく意思決定によってYOLO26モデルを改善できます。