コンテンツへスキップ

YOLOv8 実験の追跡と可視化の強化Weights & Biases

のような物体検出モデルは Ultralytics YOLOv8は、多くのコンピュータ・ビジョン・アプリケーションに不可欠なものとなっている。しかし、このような複雑なモデルのトレーニング、評価、導入にはいくつかの課題があります。主要なトレーニングメトリクスの追跡、モデルバリアントの比較、モデル動作の分析、問題の検出には、大規模な計測と実験管理が必要です。

このガイドでは、Ultralytics YOLOv8 と、Weights & Biases' との統合による、実験追跡、モデルチェックポインティング、モデル性能の可視化の強化を紹介します。また、統合の設定、トレーニング、微調整、Weights & Biases' インタラクティブ機能を使用した結果の可視化についての説明も含まれています。

Weights & Biases

Weights & Biases 概要

Weights & Biasesは、機械学習実験の追跡、可視化、管理のために設計された最先端のMLOpsプラットフォームです。実験の完全な再現性を実現するトレーニングメトリクスの自動ロギング、合理化されたデータ分析のためのインタラクティブなUI、様々な環境にデプロイするための効率的なモデル管理ツールを備えています。

YOLOv8 トレーニングWeights & Biases

YOLOv8 トレーニング・プロセスの効率化と自動化のために、Weights & Biases 。

インストール

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

インストール

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

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

設定Weights & Biases

必要なパッケージをインストールしたら、次のステップはWeights & Biases 環境のセットアップです。これにはWeights & Biases アカウントの作成と、開発環境と W&B プラットフォームをスムーズに接続するために必要な API キーの取得が含まれます。

まず、ワークスペースのWeights & Biases 環境を初期化します。以下のコマンドを実行し、プロンプトの指示に従ってください。

SDKの初期セットアップ

# Initialize your Weights & Biases environment
import wandb
wandb.login()

Weights & Biases 認証ページに移動し、API キーを作成して取得します。このキーを使用して、W&B でお客様の環境を認証します。

使い方トレーニングYOLOv8 Weights & Biases

Weights & Biases を使ったYOLOv8 モデル・トレーニングの使い方の説明に入る前に、 Ultralytics が提供するYOLOv8 モデルの数々を必ずチェックしてください。これは、あなたのプロジェクトの要件に最も適切なモデルを選択するのに役立ちます。

使い方トレーニングYOLOv8 Weights & Biases

from ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback
import wandb

# Step 1: Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco128.yaml"
model = YOLO(f"{model_name}.pt")

# Step 3: Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

# Step 6: Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Step 7: Finalize the W&B Run
wandb.finish()

コードを理解する

上のコード・スニペットで紹介されている手順を理解しよう。

  • ステップ 1:Weights & Biases ランの初期化:プロジェクト名とジョブタイプを指定し、Weights & Biases 実行を初期化することから始める。このランは、モデルのトレーニングおよび検証プロセスを追跡および管理します。

  • ステップ 2:YOLOv8 モデルとデータセットを定義する:使用したいモデル・バリアントとデータセットを指定する。YOLO モデルが、指定されたモデル・ファイルで初期化されます。

  • ステップ 3:Weights & Biases Ultralytics のコールバックを追加する:このステップは、トレーニング・メトリクスと検証結果の自動ロギングをWeights & Biases 、モデルのパフォーマンスの詳細なビューを提供するため、非常に重要です。

  • ステップ4:モデルの訓練と微調整:指定されたデータセット、エポック数、画像サイズでモデルのトレーニングを開始します。トレーニング・プロセスには、各エポックの終了時にメトリクスと予測値のロギングが含まれ、モデルの学習進捗の包括的なビューを提供します。

  • ステップ5:モデルの検証:トレーニングの後、モデルを検証する。このステップは、未知のデータに対するモデルのパフォーマンスを評価し、その汎化可能性を確保するために極めて重要である。

  • ステップ6:推論の実行と結果のログ:モデルは指定された画像に対して予測を実行します。これらの予測は、視覚的なオーバーレイと洞察とともに、インタラクティブな探索のためにW&Bテーブルに自動的に記録されます。

  • ステップ 7: W&B の実行を確定します:このステップでデータロギングを終了し、モデルのトレーニングと検証プロセスの最終状態をW&Bダッシュボードに保存します。

アウトプットを理解する

上記のコード・スニペットを実行すると、次のような主な出力が期待できる:

  • トレーニングプロセスの開始を示す一意のIDを持つ新しいランのセットアップ。
  • レイヤー数やパラメータなど、モデルの構造を簡潔にまとめたもの。
  • 各トレーニングエポックにおいて、box loss、cls loss、dfl loss、precision、recall、mAPスコアなどの重要なメトリクスを定期的に更新。
  • トレーニングの最後には、モデルの推論速度や全体的な精度のメトリクスを含む詳細なメトリクスが表示されます。
  • トレーニングプロセスの詳細な分析と視覚化のためのWeights & Biases ダッシュボードへのリンク、およびローカルのログファイルの場所に関する情報。

Weights & Biases ダッシュボードの表示

使用法のコード・スニペットを実行した後、出力にある提供されたリンクからWeights & Biases (W&B) ダッシュボードにアクセスすることができます。このダッシュボードでは、YOLOv8 を使ったモデルのトレーニングプロセスを包括的に見ることができます。

Weights & Biases ダッシュボードの主な機能

  • リアルタイムのメトリクス追跡:損失、精度、検証スコアなどのメトリクスがトレーニング中にどのように変化するかを観察し、モデルチューニングのための洞察を即座に提供します。

  • ハイパーパラメータの最適化:Weights & Biases は、学習率やバッチサイズなどの重要なパラメータを微調整し、YOLOv8 のパフォーマンスを向上させるのに役立ちます。

  • 比較分析:このプラットフォームでは、さまざまなモデル構成の影響を評価するために不可欠な、異なるトレーニング実行の横並び比較が可能です。

  • トレーニング進捗の視覚化:主要なメトリクスをグラフィカルに表示することで、エポック間のモデルのパフォーマンスを直感的に理解することができます。

  • リソースモニタリング:CPU、GPU、メモリの使用状況を把握し、トレーニングプロセスの効率を最適化します。

  • モデル成果物の管理:モデルのチェックポイントにアクセスして共有し、展開やコラボレーションを容易にします。

  • 画像オーバーレイによる推論結果の表示:Weights & Biases のインタラクティブなオーバーレイを使用して、画像上で予測結果を視覚化。Weights & Biases' 画像オーバーレイ機能の詳細については、こちらのリンクをご覧ください。

これらの機能を使用することで、YOLOv8 モデルのトレーニングを効果的に追跡、分析、最適化し、最高のパフォーマンスと効率を実現することができます。

概要

このガイドでは、Ultralytics'YOLOv8 とWeights & Biases の統合について説明しました。この統合により、モデルのトレーニングと予測結果を効率的に追跡し、視覚化できることを説明しています。

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

また、Ultralytics の統合ガイドページで、さまざまなエキサイティングな統合について詳しくご覧ください。



作成日:2023-12-28 更新日:2024-01-15
作成者:glenn-jocher(3),abirami-vina(1)

コメント