Ultralytics YOLOモデルでトレーニング、検証、予測、エクスポート、ベンチマークを行う方法
Ultralytics YOLOのtrain、val、predict、export、track、benchmark各モードの仕組みと、検証指標や実環境でのベンチマーク結果に関するヒントをご紹介します。
Nuvola Ladi4 分で読めます
Ultralytics YOLOモデルには、モデルのライフサイクル全体を網羅する複数のモードがあります。カスタムの物体検出モデルを学習させる場合も、セグメンテーションに取り組む場合も、これらのモードを理解することが重要です。
Ultralyticsのドキュメントでは、モデルで利用できるさまざまなモードを紹介しています。学習、検証、予測、エクスポート、追跡、ベンチマークに利用できます。それぞれのモードには固有の目的があり、モデルの性能とデプロイを最適化するのに役立ちます。
トレーニングモード#
まず、trainモードを見てみましょう。ここではモデルを構築し、改良します。ドキュメントには詳細な手順と動画ガイドが掲載されており、カスタムモデルの学習を簡単に始められます。
モデルの学習では、新しいデータセットをモデルに与えて、さまざまなパターンを学習させます。学習済みモデルは、学習時に与えた新しい物体をリアルタイムで検出できます。学習を始める前に、データセットにYOLO形式でアノテーションを付けることが重要です。
検証モード#
次に、validateモードを見てみましょう。検証は、ハイパーパラメーターの調整とモデルの性能確認に不可欠です。Ultralyticsは、自動設定、複数のメトリクスへの対応、Python APIとの互換性など、さまざまな検証オプションを提供しています。コマンドラインインターフェース(CLI)から1つのコマンドで直接検証を実行することもできます。
検証が必要な理由#
検証は次の点で重要です。
- 精度: モデルが物体を正確に検出することを確認します。
- 利便性: 検証プロセスを効率化します。
- 柔軟性: 複数の検証方法を提供します。
- ハイパーパラメーターの調整: より良い性能を得られるよう、モデルを最適化します。
Ultralyticsでは、Pythonスクリプトにコピーして貼り付けられる使用例も提供しています。これらの例には、画像サイズ、バッチサイズ、デバイス(CPUまたはGPU)、intersection over union(IoU)などのパラメーターが含まれています。
予測モード#
モデルの学習と検証が完了したら、予測を行います。Predictモードでは、新しいデータに対して推論を実行し、モデルの動作を確認できます。このモードは、実世界のデータでモデルの性能をテストするのに最適です。Pythonコードを数行書くだけで、画像に対する予測を実行できます。
エクスポートモード#
検証と予測の後は、モデルをデプロイする場合があります。エクスポートモードを使うと、モデルをONNXやTensorRTなどのさまざまな形式に変換でき、異なるプラットフォームへのデプロイが容易になります。
ベンチマークモード#
最後に、ベンチマークモードを紹介します。ベンチマークは、さまざまなシナリオにおけるモデルの性能を評価するうえで不可欠です。このモードは、リソース配分、最適化、コスト効率について、情報に基づいた判断を下すのに役立ちます。
ベンチマークの実行方法#
ベンチマークを実行するには、ドキュメントに掲載されている使用例を利用できます。これらの例では、ONNXやTensorRTなどの主要なメトリクスとエクスポート形式を取り上げています。また、整数量子化(INT8)または半精度(FP16)を指定するには、quantize引数を設定し、設定の違いが性能に与える影響を確認できます。
実環境でのベンチマーク例#
実環境でのベンチマーク例を見てみましょう。PyTorchモデルをベンチマークすると、RTX 3070 GPUで推論速度は68ミリ秒でした。TorchScriptにエクスポートした後は推論速度が4ミリ秒に短縮され、大幅な改善が確認できます。
ONNXモデルでは、推論速度21ミリ秒を達成しています。CPU(第13世代Intel i9)でこれらのモデルをテストすると、結果に違いが見られます。TorchScriptは115ミリ秒で動作する一方、ONNXは84ミリ秒と優れた結果を示します。最後に、Intelハードウェア向けに最適化されたOpenVINOは23ミリ秒を達成します。

図1。Nicolai Nielsenが、Ultralytics YOLOモデルでベンチマークを実行する方法を紹介しています。
ベンチマークの重要性#
ベンチマークでは、ハードウェアやエクスポート形式の違いがモデルの性能に与える影響を確認できます。特に、カスタムハードウェアやエッジデバイスへのデプロイを予定している場合は、モデルのベンチマークが重要です。このプロセスにより、モデルが対象環境向けに最適化され、可能な限り最高の性能を発揮できるようになります。
まとめ#
まとめると、Ultralyticsのドキュメントにある各種モードは、YOLOモデルのトレーニング、検証、予測、エクスポート、ベンチマークに役立つ強力なツールです。それぞれのモードはモデルの最適化とデプロイ準備において重要な役割を果たします。
ぜひコミュニティをチェックしてご参加いただき、提供されているコードスニペットをプロジェクトでお試しください。これらのツールを使えば、高性能なモデルを作成し、あらゆる環境で効率的に動作させることができます。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










