コンテンツにスキップ

Ultralytics YOLOによるモデルベンチマーク

Ultralytics YOLOのエコシステムと統合

ベンチマークの可視化

ブラウザを更新

Cookieの問題が発生する可能性があるため、グラフを正しく表示するには、ページを更新する必要がある場合があります。

はじめに

モデルのトレーニングと検証が完了したら、次の論理的なステップは、さまざまな実際のシナリオでそのパフォーマンスを評価することです。Ultralytics YOLO11のベンチマークモードは、さまざまなエクスポート形式でのモデルの速度と精度を評価するための堅牢なフレームワークを提供することにより、この目的に役立ちます。



見る: Ultralytics YOLO11モデルのベンチマーク | 異なるハードウェアでのモデルパフォーマンスを比較する方法

ベンチマークが重要なのはなぜですか?

  • 情報に基づいた意思決定: 速度と精度の間のトレードオフに関する洞察を得ます。
  • リソース配分: さまざまなエクスポート形式が異なるハードウェアでどのように機能するかを理解します。
  • 最適化: 特定のユースケースに最適なエクスポート形式を学びます。
  • コスト効率: ベンチマーク結果に基づいて、ハードウェアリソースをより効率的に使用します。

Benchmarkモードの主要メトリクス

  • mAP50-95: オブジェクト検出、セグメンテーション、およびポーズ推定の場合。
  • accuracy_top5: 画像分類の場合。
  • 推論時間: 各画像にかかる時間(ミリ秒単位)。

サポートされているエクスポート形式

  • 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 モデルをさまざまな形式にエクスポートする利点は何ですか?

ONNXTensorRTOpenVINOなどのさまざまな形式に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: ロギングの詳細レベルを制御します。

引数の完全なリストについては、引数セクションを参照してください。



📅 1年前に作成 ✏️ 3ヶ月前に更新

コメント