Link to this sectionYOLO26のトレーニングを向上させる:Cometでログ記録プロセスを簡素化#
機械学習において、パラメータ、メトリクス、画像予測、モデルチェックポイントなどの重要なトレーニング詳細をログに記録することは不可欠です。これにより、プロジェクトの透明性が保たれ、進捗が測定可能になり、結果の再現性が確保されます。
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26はComet(旧Comet ML)とシームレスに統合されており、YOLO26の物体検出モデルのトレーニングプロセスのあらゆる側面を効率的にキャプチャして最適化します。本ガイドでは、インストールプロセス、Cometのセットアップ、リアルタイムのインサイト、カスタムロギング、オフラインでの使用について解説し、YOLO26のトレーニングが徹底的に記録され、優れた結果が得られるよう微調整されることを保証します。
Link to this sectionComet#
Cometは、機械学習モデルや実験の追跡、比較、説明、最適化を行うためのプラットフォームです。モデルのトレーニング中にメトリクス、パラメータ、メディアなどを記録し、見た目の優れたウェブインターフェースを通じて実験を監視できます。Cometはデータサイエンティストの反復作業を迅速化し、透明性と再現性を高め、本番環境向けモデルの開発を支援します。
Link to this sectionYOLO26とCometの能力を活用する#
Ultralytics YOLO26とCometを組み合わせることで、さまざまなメリットが得られます。これには、実験管理の簡素化、迅速な調整のためのリアルタイムのインサイト、柔軟でカスタマイズ可能なロギングオプション、およびインターネット接続が制限されている場合にオフラインで実験を記録する機能が含まれます。この統合により、データに基づいた意思決定が可能になり、パフォーマンスメトリクスの分析、そして優れた結果の達成が実現します。
Link to this sectionインストール#
必要なパッケージをインストールするには、以下を実行してください。
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionLink to this sectionCometの構成#
必要なパッケージをインストールした後、サインアップしてComet API Keyを取得し、それを構成する必要があります。
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY次に、Cometプロジェクトを初期化します。CometはAPIキーを自動的に検出してセットアップを進めます。
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")Google Colabノートブックを使用している場合、上記のコードを実行すると初期化のためにAPIキーの入力を求められます。
Link to this section使用方法#
使用方法の説明に入る前に、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や損失などのメトリクス、ハイパーパラメータ、モデルチェックポイント、インタラクティブな混同行列、画像バウンディングボックス予測などのデータを自動的にログに記録します。
Link to this sectionCometの可視化によるモデルパフォーマンスの理解#
YOLO26モデルのトレーニングが開始されたら、Cometダッシュボードで何を確認できるかを見ていきましょう。ダッシュボードはすべての活動の中心であり、自動的にログに記録されたさまざまな情報を視覚資料や統計を通じて提示します。簡単なツアーを以下に示します:
実験パネル
Cometダッシュボードの実験パネルセクションでは、セグメントマスク損失、クラス損失、適合率、平均精度(mAP)などの異なる実行結果とメトリクスを整理して表示します。
Metrics
メトリクスセクションでは、図に示すように、専用のペインに表示される表形式でメトリクスを調べることもできます。
インタラクティブな混同行列
混同行列は「Confusion Matrix」タブにあり、モデルの分類精度を評価するためのインタラクティブな方法を提供します。正解および不正解の予測を詳細に示し、モデルの強みと弱みを把握できます。
システムメトリクス
Cometは、トレーニングプロセスにおけるボトルネックを特定するためにシステムメトリクスを記録します。これには、GPU使用率、GPUメモリ使用量、CPU使用率、RAM使用量などのメトリクスが含まれます。これらは、モデルトレーニング中のリソース使用効率を監視するために不可欠です。
Link to this sectionCometロギングのカスタマイズ#
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)。非推奨の警告が出力されます。 |
Link to this section画像予測のログ記録#
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"Link to this sectionバッチロギング間隔#
Cometでは、画像予測のバッチを記録する頻度を指定できます。COMET_EVAL_BATCH_LOGGING_INTERVAL環境変数がこの頻度を制御します。デフォルト設定は1で、すべての検証バッチから予測をログに記録します。この値を調整して、別の間隔で予測をログに記録できます。例えば、4に設定すると、4番目のバッチごとに予測がログに記録されます。
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Link to this section混同行列のログ記録を無効にする#
場合によっては、すべてのエポック後に検証セットから混同行列を記録したくないことがあります。COMET_EVAL_LOG_CONFUSION_MATRIX環境変数を"false"に設定することで、この機能を無効にできます。混同行列は、トレーニング完了後に一度だけ記録されます。
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Link to this sectionオンラインモードとオフラインモード#
デフォルトでは、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を使用してください。
Link to this sectionプロジェクト名#
デフォルトでは、CometコールバックはYOLOのprojectトレーニング引数をCometに渡します(引数が設定されていない場合はNoneとなり、その場合Cometはワークスペースのデフォルトを使用します)。YOLOのトレーニング引数に関係なく、すべての実験を特定のCometワークスペースプロジェクトに送信するには、COMET_PROJECT_NAMEでオーバーライドします:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Link to this sectionモデルアーティファクト名#
COMET_MODEL_NAMEは、ログに記録されたモデルアーティファクトに対してCometが登録する名前を設定します(デフォルトはUltralytics)。共有ワークスペース内でモデルのバリエーションを区別するために使用してください:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Link to this section信頼度スコアのスケーリング#
検出の信頼度スコアは[0, 1]の範囲で出力されますが、Comet UIはデフォルトでパーセンテージスケールで表示します。コールバックは、ログに記録する前に各スコアにCOMET_MAX_CONFIDENCE_SCORE(デフォルトは100.0)を乗算します。生の確率値や別のスケールを希望する場合は、これを調整してください:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresLink to this section要約#
本ガイドでは、CometとUltralytics YOLO26の統合について説明しました。インストールからカスタマイズまで、実験管理を効率化し、リアルタイムのインサイトを獲得し、プロジェクトのニーズに合わせてロギングを調整する方法を学びました。
YOLO26プロジェクトにも適用できるCometの公式YOLOv8統合ドキュメントも確認してください。
さらに、特に画像セグメンテーションタスクのためのYOLO26の実際的な応用について深く掘り下げたい場合は、Cometを使用したYOLO26の微調整に関するこの詳細なガイドが、モデルのパフォーマンスを向上させるための貴重なインサイトとステップバイステップの手順を提供します。
さらに、Ultralyticsとの他のエキサイティングな統合を探索するには、豊富なリソースと情報を提供する統合ガイドページをチェックしてください。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionトレーニングのためにCometとUltralytics YOLO26を統合するにはどうすればよいですか?#
CometとUltralytics YOLO26を統合するには、次の手順に従います:
-
必要なパッケージをインストールする:
pip install ultralytics comet_ml torch torchvision -
Comet API Keyをセットアップする:
export COMET_API_KEY=YOUR_API_KEY -
PythonコードでCometプロジェクトを初期化する:
import comet_ml comet_ml.login(project_name="comet-example-yolo26-coco128") -
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の構成セクションを参照してください。
Link to this sectionYOLO26でCometを使用する利点は何ですか?#
Ultralytics YOLO26をCometと統合することで、以下のことが可能になります:
- リアルタイムのインサイトを監視する:トレーニング結果に関する即時のフィードバックが得られ、迅速な調整が可能になります。
- 広範なメトリクスを記録する:mAP、損失、ハイパーパラメータ、モデルチェックポイントなどの重要なメトリクスを自動的にキャプチャします。
- 実験をオフラインで追跡する:インターネット接続がない場合でも、トレーニングの実行をローカルで記録します。
- 異なるトレーニング実行を比較する:インタラクティブなCometダッシュボードを使用して、複数の実験を分析および比較します。
これらの機能を活用することで、機械学習ワークフローを最適化し、パフォーマンスと再現性を向上させることができます。詳細については、Comet統合ガイドをご覧ください。
Link to this sectionYOLO26トレーニング中に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ロギングのカスタマイズセクションを参照してください。
Link to this sectionCometでYOLO26トレーニングの詳細なメトリクスや視覚化を表示するにはどうすればよいですか?#
YOLO26モデルのトレーニングが開始されると、Cometダッシュボードでさまざまなメトリクスや視覚化にアクセスできます。主な機能は以下の通りです:
- 実験パネル:セグメントマスク損失、クラス損失、平均精度を含む、さまざまな実行結果とメトリクスを表示します。
- メトリクス:詳細な分析のために表形式でメトリクスを調査します。
- インタラクティブな混同行列:インタラクティブな混同行列を使用して分類精度を評価します。
- システムメトリクス:GPUおよびCPU使用率、メモリ使用量、その他のシステムメトリクスを監視します。
これらの機能の詳細については、Cometの可視化によるモデルパフォーマンスの理解セクションを参照してください。
Link to this sectionYOLO26モデルのトレーニング中にオフラインロギングのためにCometを使用できますか?#
はい。トレーニング開始前にCOMET_START_ONLINE=0を設定してローカルに記録してください:
import os
os.environ["COMET_START_ONLINE"] = "0"実験データはディスクに保存され、接続が利用可能になったときにcomet upload CLIを使用して後でCometにアップロードできます。以前のCOMET_MODE="offline"変数は引き続き機能しますが、非推奨の警告が出力されます。詳細については、オンラインモードとオフラインモードセクションを参照してください。