Ultralytics YOLOモデルを使用した学習、検証、予測、エクスポート、およびベンチマークの方法を学びます。

Ultralytics YOLOモデルを使用した学習、検証、予測、エクスポート、およびベンチマークの方法を学びます。
Ultralyticsの世界に飛び込み、さまざまなYOLOモデルで利用できるさまざまなモードを探ってみましょう。カスタムの物体検出モデルをトレーニングする場合でも、セグメンテーションに取り組む場合でも、これらのモードを理解することは重要なステップです。早速始めましょう!
Ultralyticsのドキュメントを通じて、モデルで使用できるいくつかのモードが見つかります。それは、トレーニング、検証、予測、エクスポート、ベンチマーク、または追跡です。これらの各モードは、独自の目的を果たし、モデルのパフォーマンスとデプロイメントを最適化するのに役立ちます。
まず、trainモードを見てみましょう。ここでは、モデルを構築および改良します。詳細な手順とビデオガイドはドキュメントに記載されており、カスタムモデルのトレーニングを簡単に開始できます。
モデルトレーニングでは、モデルに新しいデータセットを提供し、さまざまなパターンを学習させます。トレーニングが完了すると、モデルはリアルタイムで使用して、トレーニングされた新しいオブジェクトを検出できます。トレーニングプロセスを開始する前に、データセットにYOLO形式でアノテーションを付けることが重要です。
次に、validateモードについて詳しく見ていきましょう。検証は、ハイパーパラメータを調整し、モデルが適切に機能することを保証するために不可欠です。Ultralyticsは、自動設定、マルチメトリックサポート、Python APIとの互換性など、さまざまな検証オプションを提供します。以下のコマンドを使用して、コマンドラインインターフェース(CLI)から直接検証を実行することもできます。
検証は以下にとって重要です:
Ultralyticsは、Pythonスクリプトにコピー&ペーストできるユーザーの例も提供しています。これらの例には、画像サイズ、バッチサイズ、デバイス(CPUまたはGPU)、Intersection over Union(IoU)などのパラメータが含まれています。
モデルのトレーニングと検証が完了したら、予測を行います。予測モードでは、新しいデータで推論を実行し、モデルの動作を確認できます。このモードは、実際のデータでモデルのパフォーマンスをテストするのに最適です。
以下のPythonコードスニペットを使用すると、画像で予測を実行できます。
検証と予測の後、モデルをデプロイする必要がある場合があります。エクスポートモードを使用すると、モデルをONNXやTensorRTなどのさまざまな形式に変換できるため、さまざまなプラットフォームへのデプロイが容易になります。
最後に、ベンチマークモードがあります。ベンチマークは、さまざまなシナリオでモデルのパフォーマンスを評価するために不可欠です。このモードは、リソースの割り当て、最適化、およびコスト効率に関する情報に基づいた意思決定を行うのに役立ちます。
ベンチマークを実行するには、ドキュメントに記載されているユーザーの例を使用できます。これらの例では、主要な指標と、ONNXやTensorRTなどのエクスポート形式について説明しています。また、整数量子化(INT8)や浮動小数点量子化(FP16)などのパラメータを指定して、さまざまな設定がパフォーマンスにどのように影響するかを確認することもできます。
ベンチマークの実際の例を見てみましょう。PyTorchモデルをベンチマークすると、RTX 3070 GPUで68ミリ秒の推論速度が得られます。TorchScriptにエクスポートすると、推論速度は4ミリ秒に低下し、大幅な改善が見られます。
ONNXモデルの場合、21ミリ秒の推論速度を達成しています。これらのモデルをCPU(Intel i9第13世代)でテストすると、結果は異なります。TorchScriptは115ミリ秒で実行されますが、ONNXは84ミリ秒でより優れたパフォーマンスを発揮します。最後に、Intelハードウェア向けに最適化されたOpenVINOは、驚異的な23ミリ秒を達成します。
ベンチマークは、異なるハードウェアおよびエクスポート形式がモデルのパフォーマンスにどのように影響するかを示します。特にカスタムハードウェアまたはエッジデバイスにデプロイする場合は、モデルをベンチマークすることが重要です。このプロセスにより、モデルがターゲット環境に最適化され、可能な限り最高のパフォーマンスが提供されます。
要約すると、Ultralyticsドキュメントのモードは、YOLOモデルをトレーニング、検証、予測、エクスポート、およびベンチマークするための強力なツールです。各モードは、モデルを最適化し、デプロイメントの準備をする上で重要な役割を果たします。
ぜひ、当社のコミュニティを探求し、参加して、提供されているコードスニペットをあなたのプロジェクトで試してみてください。これらのツールを使用することで、高性能なモデルを作成し、あらゆる環境で効率的に実行できるようになります。