コンテンツへスキップ

YOLOv8 トレーニングの向上:Comet MLによるロギングプロセスの簡素化

パラメータ、メトリクス、画像予測、モデルのチェックポイントなど、主要なトレーニングの詳細をログに記録することは、機械学習において不可欠である。

Ultralytics YOLOv8は、Comet ML とシームレスに統合し、YOLOv8 オブジェクト検出モデルのトレーニングプロセスのあらゆる側面を効率的にキャプチャし、最適化します。このガイドでは、インストールプロセス、Comet ML のセットアップ、リアルタイムのインサイト、カスタムロギング、オフラインでの使用方法について説明し、YOLOv8 トレーニングを徹底的に文書化し、優れた結果が得られるように微調整します。

Comet ML

Comet MLの概要

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

YOLOv8 とComet ML のパワーを活用する

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

インストール

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

インストール

# Install the required packages for YOLOv8 and Comet ML
pip install ultralytics comet_ml torch torchvision

Comet ML の設定

After installing the required packages, you'll need to sign up, get a Comet API Key, and configure it.

Comet ML の設定

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

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

import comet_ml

comet_ml.init(project_name="comet-example-yolov8-coco128")

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

使用方法

使い方の説明に入る前に、 Ultralytics が提供するYOLOv8 モデルのラインナップをご確認ください。これは、あなたのプロジェクトの要件に最も適したモデルを選択するのに役立ちます。

使用方法

from ultralytics import YOLO

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

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

トレーニングコードの実行後、Comet ML はComet ワークスペースに実験を作成し、自動的に実行を追跡します。その後、YOLOv8 モデルのトレーニングプロセスの詳細なロギングを表示するためのリンクが提供されます。

Comet mAPや損失などのメトリクス、ハイパーパラメータ、モデルのチェックポイント、インタラクティブな混同行列、画像のバウンディングボックス予測などです。

Comet MLビジュアライゼーションでモデルのパフォーマンスを理解する

Let's dive into what you'll see on the Comet ML dashboard once your YOLOv8 model begins training. The dashboard is where all the action happens, presenting a range of automatically logged information through visuals and statistics. Here's a quick tour:

実験パネル

Comet MLダッシュボードの実験パネルセクションは、セグメントマスク損失、クラス損失、精度、平均平均精度など、さまざまな実行とそのメトリクスを整理して表示します。

Comet MLの概要

指標

メトリックス・セクションでは、メトリックスを表形式で調べるオプションもあります。

Comet MLの概要

インタラクティブな混乱マトリックス

混同行列は、混同行列タブにあり、モデルの分類精度を評価するインタラクティブな方法を提供します。これは、正しい予測と正しくない予測の詳細を示し、モデルの長所と短所を理解することを可能にします。

Comet MLの概要

システム指標

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

Comet MLの概要

Comet ML ロギングのカスタマイズ

Comet MLは環境変数を設定することにより、ロギングの動作を柔軟にカスタマイズすることができます。これらの設定により、Comet ML をあなたの特定のニーズや好みに合わせることができます。ここでは、いくつかの有用なカスタマイズオプションを紹介します:

ログ画像予測

Comet ML が実験中にログに記録する画像予測数を制御できます。デフォルトでは、Comet ML は検証セットから100の画像予測をログに記録します。しかし、この数はあなたの要求に合うように変更することができます。例えば、200の画像予測をログに記録するには、以下のコードを使います:

import os

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

バッチロギング間隔

Comet MLでは、画像予測のログを記録する頻度を指定できます。そのため 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 MLはオフライン・ロギング・オプションを提供します。このオプションは COMET_MODE 環境変数を "offline "に設定すると、この機能が有効になります。実験データはローカルのディレクトリに保存され、インターネット接続が可能な時にComet ML にアップロードすることができます。

import os

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

概要

このガイドでは、Comet ML とUltralytics'YOLOv8 の統合について説明した。インストールからカスタマイズまで、実験管理を合理化し、リアルタイムの洞察を得て、ロギングをプロジェクトのニーズに適応させる方法を学びました。

YOLOv8 との統合に関する詳細については、Comet ML の公式ドキュメントを参照してください。

さらに、YOLOv8 の実用的なアプリケーション、特に画像セグメンテーションタスクに深く潜り込みたい場合は、 Comet ML によるYOLOv8 の微調整に関するこの詳細なガイドが、モデルのパフォーマンスを向上させるための貴重な洞察とステップバイステップの手順を提供します。

さらに、Ultralytics との他のエキサイティングな統合を調べるには、豊富なリソースと情報を提供する統合ガイドページをご覧ください。



Created 2023-11-16, Updated 2024-06-02
Authors: glenn-jocher (9), AyushExel (1), abirami-vina (1)

コメント