モデル・ベンチマークUltralytics YOLO
ベンチマークの可視化
ブラウザの更新
クッキーの問題が発生する可能性があるため、グラフを正しく表示するにはページを更新する必要があります。
はじめに
モデルの学習と検証が完了したら、次の論理的なステップは、さまざまな実世界のシナリオでそのパフォーマンスを評価することです。Ultralytics YOLO11のベンチマークモードは、様々なエクスポートフォーマットでモデルのスピードと精度を評価するための堅牢なフレームワークを提供することで、この目的に役立ちます。
見るんだ: Ultralytics モードのチュートリアルベンチマーク
なぜベンチマーキングが重要なのか?
- 情報に基づいた決断:スピードと精度のトレードオフに関する洞察を得る。
- リソースの割り当て:異なるエクスポート・フォーマットが異なるハードウェア上でどのように動作するかを理解する。
- 最適化:特定のユースケースに最適なパフォーマンスを提供するエクスポート形式をご覧ください。
- コスト効率:ベンチマークの結果に基づき、ハードウェアリソースをより効率的に使用します。
ベンチマークモードでの主要指標
対応エクスポート形式
- ONNX:最適なCPU
- TensorRT: GPU 効率を最大化する
- OpenVINO: Intel ハードウェアの最適化
- CoreML TensorFlow SavedModel など:多様な配備ニーズに対応
チップ
- ONNX またはOpenVINO にエクスポートして、CPU を最大3倍高速化。
- TensorRT にエクスポートして、GPU を最大5倍高速化。
使用例
YOLO11n ベンチマークを、ONNX 、TensorRT など、サポートされているすべてのエクスポートフォーマットで実行します。エクスポート引数の完全なリストについては、以下の引数のセクションを参照してください。
例
議論
などの議論がある。 model
, data
, imgsz
, half
, device
そして verbose
は、ベンチマークを特定のニーズに合わせて微調整し、異なるエクスポート形式のパフォーマンスを簡単に比較できる柔軟性をユーザーに提供します。
キー | デフォルト値 | 説明 |
---|---|---|
model | None | モデルファイルへのパスを指定します。以下の両方を受け入れます。 .pt そして .yaml などの形式がある、 "yolo11n.pt" 訓練済みモデルや設定ファイル |
data | None | ベンチマーク用のデータセットを定義するYAMLファイルへのパス。 検証データ.例 "coco8.yaml" . |
imgsz | 640 | モデルの入力画像サイズ。正方形画像の場合は1つの整数,正方形画像の場合は1つのタプルになります. (width, height) 非正方形の場合、 (640, 480) . |
half | False | FP16(半精度)推論を有効にし、メモリ使用量を削減し、互換性のあるハードウェアでは速度を向上させることができる。使用方法 half=True を有効にする。 |
int8 | False | INT8 量子化を有効にすることで、サポートされているデバイスのパフォーマンスがさらに最適化されます。設定 int8=True を使用する。 |
device | None | ベンチマーク用の計算デバイスを定義します。 "cpu" または "cuda:0" . |
verbose | False | ロギング出力の詳細レベルを制御する。ブール値。 verbose=True は詳細なログを、float は閾値エラーを表示する。 |
輸出フォーマット
ベンチマークは、以下のすべての可能なエクスポートフォーマットで自動的に実行されます。
フォーマット | format 議論 | モデル | メタデータ | 議論 |
---|---|---|---|---|
PyTorch | - | yolo11n.pt | ✅ | - |
TorchScript | torchscript | yolo11n.torchscript | ✅ | imgsz , optimize , batch |
ONNX | onnx | yolo11n.onnx | ✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino | yolo11n_openvino_model/ | ✅ | imgsz , half , int8 , batch |
TensorRT | engine | yolo11n.engine | ✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml | yolo11n.mlpackage | ✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model | yolo11n_saved_model/ | ✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb | yolo11n.pb | ❌ | imgsz , batch |
TF ライト | tflite | yolo11n.tflite | ✅ | imgsz , half , int8 , batch |
TF エッジTPU | edgetpu | yolo11n_edgetpu.tflite | ✅ | imgsz |
TF.js | tfjs | yolo11n_web_model/ | ✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle | yolo11n_paddle_model/ | ✅ | imgsz , batch |
MNN | mnn | yolo11n.mnn | ✅ | imgsz , batch , int8 , half |
NCNN | ncnn | yolo11n_ncnn_model/ | ✅ | imgsz , half , batch |
IMX500 | imx | yolo11n_imx_model/ | ✅ | imgsz , int8 |
詳細を見る export
詳細は 輸出 ページを参照されたい。
よくあるご質問
Ultralytics 、YOLO11モデルの性能をベンチマークするには?
Ultralytics YOLO11には、さまざまなエクスポート形式でモデルのパフォーマンスを評価するベンチマークモードがあります。このモードでは、平均平均精度(mAP50-95)、精度、推論時間(ミリ秒)などの主要なメトリクスに関する洞察を得ることができます。ベンチマークを実行するには、Python またはCLI コマンドを使用します。たとえば、GPU でベンチマークを実行するには、 コマンドを使用します:
例
ベンチマークの引数の詳細については、引数のセクションをご覧ください。
YOLO11モデルを異なるフォーマットにエクスポートする利点は何ですか?
YOLO11モデルをONNX 、TensorRT 、OpenVINO などの異なるフォーマットにエクスポートすることで、展開環境に応じてパフォーマンスを最適化することができます。例えば
- ONNX: CPU 、最大3倍のスピードアップを実現。
- TensorRT: GPU 、最大5倍のスピードアップを実現。
- OpenVINO: Intel ハードウェアに最適化されています。これらのフォーマットは、モデルの速度と精度の両方を向上させ、実世界のさまざまなアプリケーションでより効率的に使用できるようにします。詳細については、エクスポートのページをご覧ください。
YOLO11モデルの評価においてベンチマークが重要なのはなぜか?
YOLO11モデルのベンチマークは、いくつかの理由から不可欠である:
- 情報に基づいた決断:スピードと精度のトレードオフを理解する。
- リソースの割り当て:さまざまなハードウェアオプションのパフォーマンスを測定します。
- 最適化:特定のユースケースに最適なパフォーマンスを提供するエクスポート形式を決定します。
- コスト効率:ベンチマーク結果に基づいてハードウェアの使用量を最適化。mAP50-95、トップ5精度、推論時間などの主要メトリクスは、これらの評価に役立ちます。詳細については、「主要メトリクス」のセクションを参照してください。
YOLO11がサポートしているエクスポート形式と、その利点は?
YOLO11は、特定のハードウェアやユースケースに合わせた様々なエクスポートフォーマットをサポートしています:
- ONNX: CPU パフォーマンスに最適。
- TensorRT: GPU 効率を上げるのに最適。
- OpenVINO: Intel ハードウェアに最適化。
- CoreML &TensorFlow:iOS や一般的なMLアプリケーションに便利。サポートされているフォーマットの完全なリストとそれぞれの利点については、サポートされているエクスポートフォーマットのセクションをご覧ください。
YOLO11ベンチマークを微調整するには、どのような引数を使用すればよいですか?
ベンチマークを実行する際、いくつかの引数を特定のニーズに合わせてカスタマイズすることができる:
- モデル:モデルファイルへのパス(例:"yolo11n.pt")。
- データ:data: データセットを定義するYAMLファイルへのパス(例:"coco8.yaml")。
- imgsz:入力画像のサイズ。整数またはタプル。
- 半分:FP16 推論を有効にしてパフォーマンスを向上。
- int8:エッジデバイスのINT8量子化を有効にする。
- デバイスを指定する:計算デバイスを指定する(例: "cpu", "cuda:0")。
- 冗長:ロギングの詳細レベルを制御する。引数の完全なリストについては、引数のセクションを参照してください。