YOLO26のトレーニングを高度化する:Cometでログ記録プロセスを簡素化

パラメーター、メトリクス、画像予測、モデルのチェックポイントといった重要なトレーニング詳細のログ記録は、機械学習において不可欠です。これにより、プロジェクトの透明性が保たれ、進捗が測定可能になり、結果の再現性が確保されます。



Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀

Ultralytics YOLO26はComet(旧Comet ML)とシームレスに統合されており、YOLO26の物体検出モデルのトレーニングプロセスのあらゆる側面を効率的にキャプチャし、最適化します。本ガイドでは、インストールプロセス、Cometの設定、リアルタイムのインサイト、カスタムログ記録、およびオフラインでの使用方法について解説し、YOLO26のトレーニングが詳細に記録され、優れた結果を得るために最適化されるようにします。

Comet

Comet ML experiment tracking dashboard

Cometは、機械学習モデルや実験の追跡、比較、説明、最適化のためのプラットフォームです。モデルのトレーニング中にメトリクス、パラメーター、メディアなどをログ記録し、視覚的に優れたWebインターフェースを通じて実験を監視することができます。Cometは、データサイエンティストがより迅速に反復し、透明性と再現性を高め、本番環境向けモデルの開発を支援します。

YOLO26とCometの能力を活用する

Ultralytics YOLO26とCometを組み合わせることで、さまざまなメリットが得られます。これには、実験管理の簡素化、迅速な調整のためのリアルタイムインサイト、柔軟でカスタマイズ可能なログ記録オプション、そしてインターネットアクセスが制限されている場合に実験をオフラインでログ記録する機能が含まれます。この統合により、データに基づいた意思決定を行い、パフォーマンスメトリクスを分析し、卓越した成果を達成することが可能になります。

インストール

必要なパッケージをインストールするには、以下のコマンドを実行します:

インストール
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvision

Cometの設定

必要なパッケージをインストールした後、サインアップしてComet APIキーを取得し、設定する必要があります。

Cometの設定
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY

その後、Cometプロジェクトを初期化できます。CometはAPIキーを自動的に検出し、セットアップを続行します。

Cometプロジェクトの初期化
import comet_ml

comet_ml.login(project_name="comet-example-yolo26-coco128")

Google Colabノートブックを使用している場合、上記のコードを実行すると、初期化のためにAPIキーの入力を求められます。

使用方法

使用手順を詳しく説明する前に、Ultralyticsが提供するYOLO26モデルのラインナップを必ず確認してください。これにより、プロジェクトの要件に最適なモデルを選択できます。

使用方法
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolo26-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

トレーニングコードを実行すると、CometはCometワークスペース内に実験を自動作成し、実行結果を追跡します。その後、YOLO26モデルのトレーニングプロセスの詳細なログを確認するためのリンクが提供されます。

Cometは、追加設定なしで以下のデータを自動的にログ記録します:mAPや損失などのメトリクス、ハイパーパラメーター、モデルのチェックポイント、インタラクティブな混同行列、および画像のバウンディングボックス予測。

Cometの可視化機能によるモデルパフォーマンスの理解

YOLO26モデルのトレーニングが開始されたら、Cometダッシュボードで何が見られるかを見ていきましょう。ダッシュボードはすべてのアクションが集約される場所であり、自動的に記録されたさまざまな情報がビジュアルや統計データとして提示されます。概要は以下の通りです:

実験パネル

Cometダッシュボードの実験パネルセクションでは、セグメントマスク損失、クラス損失、精度、平均適合率(mAP)などのメトリクスとともに、さまざまな実行結果が整理され表示されます。

Comet ML experiment tracking dashboard

メトリクス

メトリクスセクションでは、ここに図示されているような専用のペインで、メトリクスを表形式で確認するオプションも利用できます。

Comet ML experiment tracking dashboard

インタラクティブな混同行列

「Confusion Matrix」タブにある混同行列は、モデルの分類精度を評価するためのインタラクティブな手段を提供します。正解および不正解の予測が詳細に表示され、モデルの強みと弱みを把握することができます。

Comet ML experiment tracking dashboard

システムメトリクス

Cometはトレーニングプロセスにおけるボトルネックを特定するためにシステムメトリクスを記録します。これには、GPU使用率、GPUメモリ使用量、CPU使用率、RAM使用量などが含まれます。これらはモデルトレーニング中のリソース効率を監視するために不可欠です。

Comet ML experiment tracking dashboard

Cometログ記録のカスタマイズ

Cometは、環境変数を設定することでログ記録の動作をカスタマイズする柔軟性を提供します。これらの設定により、特定のニーズや好みに合わせてCometを調整できます。以下に便利なカスタマイズオプションをいくつか紹介します:

画像予測のログ記録

実験中にCometが記録する画像予測の数を制御できます。デフォルトでは、Cometは検証セットから100枚の画像予測を記録します。ただし、要件に合わせてこの数を変更可能です。例えば、200枚の画像予測を記録するには、以下のコードを使用します:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

バッチログ記録の間隔

Cometでは、画像予測のバッチをどの程度の頻度で記録するかを指定できます。環境変数COMET_EVAL_BATCH_LOGGING_INTERVALがこの頻度を制御します。デフォルト設定は1であり、すべての検証バッチから予測が記録されます。この値を調整して、異なる間隔で予測を記録することも可能です。例えば、4に設定すると、4バッチごとに予測が記録されます。

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

混同行列のログ記録の無効化

場合によっては、各エポック終了後の検証セットから混同行列を記録したくないことがあるかもしれません。その場合は、環境変数COMET_EVAL_LOG_CONFUSION_MATRIXを「false」に設定することで、この機能を無効にできます。混同行列は、トレーニング完了後に一度だけ記録されるようになります。

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

オフラインでのログ記録

インターネットアクセスが制限されている状況では、Cometはオフラインでのログ記録オプションを提供しています。環境変数COMET_MODEを「offline」に設定することで、この機能を有効にできます。実験データはローカルのディレクトリに保存され、後でインターネット接続が利用可能になったときにCometにアップロードできます。

import os

os.environ["COMET_MODE"] = "offline"

まとめ

本ガイドでは、CometとUltralytics YOLO26の統合手順を解説しました。インストールからカスタマイズまで、実験管理の効率化、リアルタイムインサイトの取得、そしてプロジェクトのニーズに応じたログ記録の適応方法を学びました。

Cometの公式YOLOv8統合ドキュメントもぜひご確認ください。これはYOLO26プロジェクトにも適用できます。

さらに、YOLO26の実践的な応用、特に画像セグメンテーションタスクについて詳しく知りたい場合は、Cometを使用したYOLO26のファインチューニングに関するこちらの詳細ガイドが、モデルのパフォーマンスを向上させるための貴重なインサイトとステップバイステップの手順を提供しています。

加えて、Ultralyticsのその他の魅力的な統合機能については、豊富なリソースと情報を提供する統合ガイドページをご確認ください。

FAQ

Ultralytics YOLO26のトレーニングにCometを統合するにはどうすればよいですか?

Ultralytics YOLO26とCometを統合するには、以下の手順に従ってください:

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

    pip install ultralytics comet_ml torch torchvision
  2. Comet APIキーを設定する

    export COMET_API_KEY=YOUR_API_KEY
  3. Pythonコード内でCometプロジェクトを初期化する

    import comet_ml
    
    comet_ml.login(project_name="comet-example-yolo26-coco128")
  4. YOLO26モデルをトレーニングし、メトリクスを記録する

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model.train(
        data="coco8.yaml",
        project="comet-example-yolo26-coco128",
        batch=32,
        save_period=1,
        save_json=True,
        epochs=3,
    )

より詳細な手順については、Cometの設定セクションを参照してください。

YOLO26でCometを使用する利点は何ですか?

Ultralytics YOLO26をCometと統合することで、以下のことが可能になります:

  • リアルタイムのインサイトを監視する: トレーニング結果に関する即時フィードバックを得て、迅速な調整を可能にします。
  • 詳細なメトリクスをログ記録する: mAP、損失、ハイパーパラメーター、モデルのチェックポイントといった重要なメトリクスを自動的にキャプチャします。
  • 実験をオフラインで追跡する: インターネットアクセスがない場合でも、トレーニングの実行状況をローカルに記録します。
  • 異なるトレーニング実行を比較する: インタラクティブなCometダッシュボードを使用して、複数の実験を分析・比較します。

これらの機能を活用することで、機械学習ワークフローを最適化し、パフォーマンスと再現性を向上させることができます。詳細については、Comet統合ガイドをご覧ください。

YOLO26のトレーニング中にCometのログ記録動作をカスタマイズするにはどうすればよいですか?

Cometでは、環境変数を使用してログ記録の動作を広範囲にカスタマイズできます:

  • ログ記録する画像予測の数を変更する

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
  • バッチログ記録の間隔を調整する

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
  • 混同行列のログ記録を無効にする

    import os
    
    os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

その他のカスタマイズオプションについては、Cometログ記録のカスタマイズセクションを参照してください。

CometでYOLO26トレーニングの詳細なメトリクスと可視化を表示するにはどうすればよいですか?

YOLO26モデルのトレーニングが開始されると、Cometダッシュボードでさまざまなメトリクスや可視化機能にアクセスできます。主な機能は以下の通りです:

  • 実験パネル: セグメントマスク損失、クラス損失、平均精度を含む、さまざまな実行結果とそのメトリクスを表示します。
  • メトリクス: 詳細な分析のためにメトリクスを表形式で確認します。
  • インタラクティブな混同行列: インタラクティブな混同行列を使用して分類精度を評価します。
  • システムメトリクス: GPUおよびCPUの使用率、メモリ使用量、その他のシステムメトリクスを監視します。

これらの機能の詳細な概要については、Cometの可視化機能によるモデルパフォーマンスの理解セクションをご覧ください。

YOLO26モデルのトレーニング時にオフラインのログ記録のためにCometを使用できますか?

はい。環境変数COMET_MODEを「offline」に設定することで、Cometでオフラインログ記録を有効にできます:

import os

os.environ["COMET_MODE"] = "offline"

この機能により、実験データをローカルに記録し、後でインターネット接続が利用可能になったときにCometにアップロードできます。これは、インターネットアクセスが制限された環境で作業する場合に特に便利です。詳細については、オフラインでのログ記録セクションを参照してください。

コメント