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