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は、機械学習のモデルや実験の追跡、比較、説明、最適化を行うためのプラットフォームです。モデルのトレーニング中にメトリクス、パラメータ、メディアなどを記録し、美しく洗練されたWebインターフェースを通じて実験を監視することができます。Cometはデータサイエンティストの迅速なイテレーションを支援し、透明性と再現性を高め、本番モデルの開発に貢献します。
YOLO26とCometの能力を活用する#
Ultralytics YOLO26とCometを組み合わせることで、さまざまなメリットが得られます。これには、実験管理の簡素化、迅速な調整のためのリアルタイムのインサイト、柔軟でカスタマイズ可能なロギングオプション、およびインターネット接続が制限されている場合にオフラインで実験を記録する機能が含まれます。この統合により、データに基づいた意思決定が可能になり、パフォーマンスメトリクスの分析、そして優れた結果の達成が実現します。
インストール#
必要なパッケージをインストールするには、以下を実行してください。
# Install YOLO26 and Comet
pip install ultralytics comet_mlCometの構成#
必要なパッケージをインストールした後、アカウント登録を行い、Comet API Keyを取得して設定する必要があります。
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY次に、Cometで認証を行います。Ultralyticsコールバックが実験を作成し、Cometプロジェクト名としてYOLOの project トレーニング引数を使用します。
import comet_ml
comet_ml.login()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ダッシュボードの実験パネルセクションでは、セグメントマスク損失、クラス損失、精度、mean average precisionなどのさまざまな実行結果とそのメトリクスが整理されて表示されます。
Metrics
メトリクスセクションでは、図に示すように、専用のペインに表示される表形式でメトリクスを調べることもできます。
インタラクティブな混同行列
混同行列タブにある混同行列は、モデルの分類精度を評価するためのインタラクティブな方法を提供します。正解と不正解の詳細な予測が表示されるため、モデルの長所と短所を把握することができます。
システムメトリクス
Cometは、トレーニングプロセスにおけるボトルネックを特定するためにシステムメトリクスを記録します。これには、GPU使用率、GPUメモリ使用量、CPU使用率、RAM使用量などのメトリクスが含まれます。これらは、モデルトレーニング中のリソース使用効率を監視するために不可欠です。
Cometロギングのカスタマイズ#
Cometは、環境変数を設定することでロギング動作をカスタマイズする柔軟性を提供します。これらの構成により、特定のニーズや好みに合わせてCometを調整できます。Ultralyticsコールバックは次の環境変数を読み取ります(トレーニング開始前に設定してください):
| 環境変数 | デフォルト | 説明 |
|---|---|---|
COMET_START_ONLINE | 1 | 実験をオンライン (1) またはオフライン (0) モードで実行します。 |
COMET_PROJECT_NAME | args.project | Cometのワークスペースプロジェクト。未設定の場合は、YOLOの project トレーニング引数にフォールバックします。 |
COMET_MODEL_NAME | Ultralytics | ログに記録されたモデルアーティファクトに対して登録される名前です。 |
COMET_MAX_IMAGE_PREDICTIONS | 100 | 実行ごとにログに記録する検証画像予測の総数です。 |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | N番目の検証バッチごとに画像予測をログに記録します。 |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | 画像予測のロギングのオン (true) またはオフ (false) を切り替えます。 |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | すべての検証エポックで混同行列を記録します。最終的な行列は、トレーニング終了時に常に記録されます。 |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | ログに記録する前に検出の信頼度スコアに適用される乗数です(CometのUIはパーセンテージスケールを想定しています)。 |
COMET_MODE (非推奨) | online | COMET_START_ONLINE のレガシーエイリアス ("online" ↔ 1, "offline" ↔ 0)。非推奨の警告を出力します。 |
ブール値のトグル (COMET_EVAL_LOG_IMAGE_PREDICTIONS および COMET_EVAL_LOG_CONFUSION_MATRIX) の場合、値 1、true、yes、on、y、および t は True として解析されます(大文字と小文字は区別されません)。その他の値は False になります。
画像予測のログ記録#
Cometが実験中に記録する画像予測の数を制御できます。デフォルトでは、Cometは検証セットから100枚の画像予測を記録します。ただし、要件に合わせてこの数を変更できます。例えば、200枚の画像予測をログに記録するには、次のコードを使用します:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"画像予測のロギングを完全に無効にするには(例:低速な接続でのアップロード量を減らすため)、COMET_EVAL_LOG_IMAGE_PREDICTIONS を "false" に設定します:
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"バッチロギング間隔#
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」に設定することで、この機能を無効にできます。混同行列は、トレーニングが完了した後に1回だけ記録されます。
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"オンラインモードとオフラインモード#
デフォルトでは、Cometはオンラインモードで動作し、実験データをCometサーバーにストリーミングします。インターネット接続なしでトレーニングを行う必要がある場合は、トレーニング開始前に COMET_START_ONLINE=0 を設定してください。実験データはローカルに保存され、後から comet upload CLIを使用してアップロードできます。
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offline以前のバージョンでは、この目的のために COMET_MODE="offline" が使用されていました。この変数は下位互換性のために引き続きサポートされますが、非推奨の警告を出力します。今後は COMET_START_ONLINE を使用してください。
プロジェクト名#
デフォルトでは、CometコールバックはYOLOの project トレーニング引数をCometに渡します(引数が未設定の場合は None を渡し、その場合Cometはワークスペースのデフォルトを使用します)。YOLOのトレーニング引数に関係なく、すべての実験を特定のCometワークスペースプロジェクトに送信するには、COMET_PROJECT_NAME でこれを上書きします:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"モデルアーティファクト名#
COMET_MODEL_NAME は、記録されたモデルアーティファクトに対してCometが登録する名前を設定します(デフォルトは Ultralytics)。共有ワークスペース内でモデルのバリエーションを区別するために使用します:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"信頼度スコアのスケーリング#
検出信頼度スコアは [0, 1] の範囲で出力されますが、Comet UIではデフォルトでパーセンテージスケールで表示されます。コールバックは、記録する前に各スコアに COMET_MAX_CONFIDENCE_SCORE(デフォルトは 100.0)を掛け合わせます。生確率または別のスケールを好む場合は、これを調整してください:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scores要約#
本ガイドでは、CometとUltralytics YOLO26の統合について説明しました。インストールからカスタマイズまで、実験管理を効率化し、リアルタイムのインサイトを獲得し、プロジェクトのニーズに合わせてロギングを調整する方法を学びました。
YOLO26プロジェクトにも適用される、Cometの公式YOLOv8統合ドキュメントをご覧ください。
さらに、YOLO26の実践的な応用、特に画像セグメンテーションタスクについてより深く掘り下げたい場合は、CometによるYOLO26の微調整に関するこの詳細なガイドが、モデルのパフォーマンスを向上させるための貴重なインサイトとステップバイステップの手順を提供します。
加えて、Ultralyticsのその他の魅力的な統合を探索するには、豊富なリソースと情報を提供する統合ガイドページをご確認ください。
よくある質問 (FAQ)#
CometとUltralytics YOLO26を統合するには、次の手順に従います:
-
必要なパッケージをインストールする:
pip install ultralytics comet_ml -
Comet API Keyをセットアップする:
export COMET_API_KEY=YOUR_API_KEY -
PythonコードでCometに認証する:
import comet_ml comet_ml.login() -
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設定セクションをご参照ください。
-
Ultralytics YOLO26をCometと統合することで、以下のことが可能になります:
- リアルタイムのインサイトを監視する:トレーニング結果に関する即時のフィードバックが得られ、迅速な調整が可能になります。
- 広範なメトリクスを記録する:mAP、損失、ハイパーパラメータ、モデルチェックポイントなどの重要なメトリクスを自動的にキャプチャします。
- 実験をオフラインで追跡する:インターネット接続がない場合でも、トレーニングの実行をローカルで記録します。
- 異なるトレーニング実行を比較する:インタラクティブなCometダッシュボードを使用して、複数の実験を分析および比較します。
これらの機能を活用することで、パフォーマンスと再現性を高めるために機械学習ワークフローを最適化できます。詳細については、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プロジェクト名を設定する:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
記録されるモデルアーティファクト名を設定する:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
画像予測のトグル、信頼度スコアのスケーリング、オンライン/オフラインモードを含む完全なリストについては、Cometロギングのカスタマイズセクションを参照してください。
-
YOLO26モデルのトレーニングが開始されると、Cometダッシュボードでさまざまなメトリクスや視覚化にアクセスできます。主な機能は以下の通りです:
- 実験パネル: セグメントマスク損失、クラス損失、mean average precisionなどのさまざまな実行結果とそのメトリクスを表示します。
- メトリクス:詳細な分析のために表形式でメトリクスを調査します。
- インタラクティブな混同行列:インタラクティブな混同行列を使用して分類精度を評価します。
- システムメトリクス:GPUおよびCPU使用率、メモリ使用量、その他のシステムメトリクスを監視します。
これらの機能の詳細な概要については、Cometのビジュアライゼーションによるモデルのパフォーマンスの理解セクションをご覧ください。
はい。トレーニング開始前に
COMET_START_ONLINE=0を設定して、ローカルに記録を行います:import os os.environ["COMET_START_ONLINE"] = "0"実験データはディスクに保存され、接続が利用可能なときに後から
comet uploadCLIを使用してCometにアップロードできます。以前のCOMET_MODE="offline"変数は引き続き機能しますが、非推奨の警告を出力します。詳細については、オンラインおよびオフラインモードのセクションを参照してください。