Ultralytics YOLOモデルを使用してトレーニング、検証、予測、エクスポート、およびベンチマークを行う方法
Ultralytics YOLOモデルを使って、トレーニング、検証、予測、エクスポート、ベンチマークを行う方法を学びましょう!
Ultralyticsの世界に飛び込み、さまざまなYOLOモデルで利用可能なモードを探求しましょう。独自の物体検出モデルをトレーニングする場合でも、セグメンテーションに取り組む場合でも、これらのモードを理解することは重要なステップです。さっそく見ていきましょう!
Ultralyticsのドキュメントを通じて、モデルに利用できるいくつかのモードを知ることができます。これにはトレーニング、検証、予測、エクスポート、ベンチマーク、トラッキングが含まれます。これらの各モードには独自の目的があり、モデルのパフォーマンスとデプロイを最適化するのに役立ちます。
Link to this sectionトレーニング(Train)モード#
まずはトレーニングモードを見てみましょう。ここでは、モデルを構築し、改良します。ドキュメントには詳細な手順とビデオガイドがあり、独自のモデルのトレーニングを簡単に開始できます。
モデルのトレーニングには、新しいデータセットをモデルに提供し、さまざまなパターンを学習させることが含まれます。一度トレーニングすれば、モデルをリアルタイムで使用して、学習した新しいオブジェクトを検出できます。トレーニングプロセスを開始する前に、データセットをYOLO形式でアノテーションすることが不可欠です。
Link to this section検証(Validate)モード#
次に、検証モードを詳しく見ていきましょう。検証は、ハイパーパラメータの調整を行い、モデルが適切に機能することを保証するために不可欠です。Ultralyticsは、自動設定、マルチメトリックサポート、Python APIとの互換性など、さまざまな検証オプションを提供しています。以下のコマンドを使用して、コマンドラインインターフェース(CLI)から直接検証を実行することも可能です。
Link to this sectionなぜ検証が必要なのか?#
検証は以下の点で重要です:
- 精度(Precision): モデルが正確にオブジェクトを検出することを保証する。
- 利便性(Convenience): 検証プロセスを効率化する。
- 柔軟性(Flexibility): 複数の検証手法を提供する。
- ハイパーパラメータ調整(Hyperparameter Tuning): パフォーマンス向上のためにモデルを最適化する。
Ultralyticsは、Pythonスクリプトにコピー&ペーストできるユーザー例も提供しています。これらの例には、画像サイズ、バッチサイズ、デバイス(CPUまたはGPU)、Intersection over Union(IoU)などのパラメータが含まれています。
Link to this section予測(Predict)モード#
モデルのトレーニングと検証が完了したら、予測を行う時間です。予測モードでは、新しいデータに対して推論を実行し、モデルが実際に動作する様子を確認できます。このモードは、現実世界のデータに対するモデルのパフォーマンスをテストするのに最適です。以下のPythonコードスニペットを使用して、画像に対する予測を実行できます!
Link to this sectionエクスポート(Export)モード#
検証と予測が完了したら、モデルをデプロイしたいと思うかもしれません。エクスポートモードを使用すると、モデルをONNXやTensorRTなどのさまざまな形式に変換できるため、異なるプラットフォーム間でのデプロイが容易になります。
Link to this sectionベンチマーク(Benchmark)モード#
最後に、ベンチマークモードがあります。ベンチマークは、さまざまなシナリオにおけるモデルのパフォーマンスを評価するために不可欠です。このモードは、リソースの割り当て、最適化、コスト効率について情報に基づいた決定を下すのに役立ちます。
Link to this sectionベンチマークの方法#
ベンチマークを実行するには、ドキュメントで提供されているユーザー例を使用できます。これらの例は、ONNXやTensorRTを含む主要なメトリックとエクスポート形式を網羅しています。また、整数量子化(INT8)や浮動小数点量子化(FP16)などのパラメータを指定して、設定の違いがパフォーマンスにどのような影響を与えるかを確認することもできます。
Link to this section実際のベンチマーク例#
ベンチマークの実際の例を見てみましょう。PyTorchモデルをベンチマークすると、RTX 3070 GPU上で68ミリ秒の推論速度が観測されます。TorchScriptにエクスポートした後、推論速度は4ミリ秒まで低下し、大幅な改善が見られます。
ONNXモデルの場合、21ミリ秒の推論速度を達成します。これらのモデルをCPU(Intel i9 第13世代)でテストすると、結果は異なります。TorchScriptは115ミリ秒で動作しますが、ONNXは84ミリ秒でより優れたパフォーマンスを発揮します。最後に、Intelハードウェア向けに最適化されたOpenVINOは、驚異的な23ミリ秒を達成しています。

図1:Ultralytics YOLOモデルでベンチマークを実行する方法を実演するNicolai Nielsen。
Link to this sectionベンチマークの重要性#
ベンチマークは、異なるハードウェアやエクスポート形式がモデルのパフォーマンスにどのような影響を与えるかを示します。特にカスタムハードウェアやエッジデバイスにデプロイする予定がある場合は、モデルのベンチマークをとることが不可欠です。このプロセスにより、モデルがターゲット環境に対して最適化され、可能な限り最高のパフォーマンスが提供されます。
Link to this section結論#
まとめとして、Ultralyticsのドキュメントにある各モードは、YOLOモデルのトレーニング、検証、予測、エクスポート、ベンチマークを行うための強力なツールです。それぞれのモードは、モデルを最適化し、デプロイの準備を整える上で重要な役割を果たします。
ぜひ私たちのコミュニティに参加して、提供されているコードスニペットをプロジェクトで試してみてください。これらのツールを使用することで、高性能なモデルを作成し、どのような環境でも効率的に実行できるようにすることができます。






