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は、機械学習モデルや実験を追跡、比較、説明、最適化するためのプラットフォームです。モデルのトレーニング中にメトリクス、パラメーター、メディアなどをログに記録し、洗練されたWebインターフェースを通じて実験を監視することができます。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キーを取得し、設定する必要があります。
# 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)など)を整理して提示します。
メトリクス
メトリクスセクションでは、図示されているように専用のペインに表示される表形式でメトリクスを調査するオプションがあります。
インタラクティブな混同行列
混同行列タブにある混同行列は、モデルの分類精度を評価するためのインタラクティブな方法を提供します。正解および不正解の予測を詳細に示し、モデルの長所と短所を理解できるようにします。
システムメトリクス
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はワークスペースのデフォルトを使用します)。これをCOMET_PROJECT_NAMEで上書きすることで、YOLOのトレーニング引数に関係なく、すべての実験を特定のCometワークスペースプロジェクトに送信できます:
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 sectionCometをトレーニングのためにUltralytics YOLO26と統合するにはどうすればよいですか?#
CometをUltralytics YOLO26と統合するには、以下の手順に従ってください:
-
必要なパッケージをインストールする:
pip install ultralytics comet_ml torch torchvision -
Comet APIキーをセットアップする:
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"
画像予測の切り替え、信頼度スコアの調整、オンライン/オフラインモードなど、全リストについてはCustomizing Comet Loggingセクションを参照してください。
Link to this sectionCometでYOLO26のトレーニングに関する詳細なメトリクスや可視化を確認するにはどうすればよいですか?#
YOLO26モデルのトレーニングが開始されると、Cometダッシュボードで広範なメトリクスや可視化にアクセスできます。主な機能は以下の通りです:
- 実験パネル: セグメントマスク損失、クラス損失、平均精度(mAP)など、さまざまな実行結果とそのメトリクスを確認できます。
- メトリクス: 詳細な分析のためにメトリクスを表形式で確認します。
- インタラクティブな混同行列: インタラクティブな混同行列を使用して分類の精度を評価します。
- システムメトリクス: GPUおよびCPUの使用率、メモリ使用量、その他のシステムメトリクスを監視します。
これらの機能の詳細な概要については、Understanding Your Model's Performance with Comet Visualizationsセクションにアクセスしてください。
Link to this sectionYOLO26モデルのトレーニング中に、Cometを使用してオフラインロギングを行うことはできますか?#
はい。トレーニング開始前に COMET_START_ONLINE=0 を設定することで、ローカルにログを保存できます:
import os
os.environ["COMET_START_ONLINE"] = "0"実験データはディスクに保存され、ネットワーク接続が可能になった際に comet upload CLIを使用して後からCometにアップロードできます。以前の COMET_MODE="offline" 変数も引き続き機能しますが、非推奨の警告が出力されます。詳細については、Online and Offline Modeセクションを参照してください。