コンテンツにスキップ

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

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

ベンチマークの可視化

ブラウザを更新

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

はじめに

モデルの学習と検証が完了したら、次の論理的なステップは、様々な実世界シナリオでのパフォーマンスを評価することです。Ultralytics YOLO26のベンチマークモードは、様々なエクスポート形式におけるモデルの速度と精度を評価するための堅牢なフレームワークを提供することで、この目的を果たします。



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

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

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

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

  • mAP50-95: 物体検出、セグメンテーション、および姿勢推定用。
  • accuracy_top5: 画像分類の場合。
  • 推論時間: 各画像にかかる時間(ミリ秒単位)。

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

  • ONNX: 最適なCPUパフォーマンスのために
  • TensorRT: GPU効率を最大限に高めるため。
  • OpenVINO: Intelハードウェアの最適化
  • CoreML、TensorFlow SavedModelなど: 多様なデプロイメントニーズに対応します。

ヒント

  • 最大3倍のCPU高速化のためにONNXまたはOpenVINOにエクスポートします。
  • TensorRTへエクスポートすることで、GPUの処理速度が最大5倍向上します。

使用例

YOLO26nベンチマークを、サポートされているすべてのエクスポート形式(ONNX、TensorRTなど)で実行します。エクスポートオプションの完全なリストについては、以下の「引数」セクションを参照してください。

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 format=onnx

引数

のような引数 model, data, imgsz, half, device, verbose および format ユーザーが特定のニーズに合わせてベンチマークを微調整し、さまざまなエクスポート形式のパフォーマンスを簡単に比較できる柔軟性を提供します。

キーデフォルト値説明
modelNoneモデルファイルへのパスを指定します。両方を受け入れます .pt および .yaml 形式(例: "yolo26n.pt" 事前学習済みモデルまたは設定ファイル用。
dataNoneベンチマーク用のデータセットを定義するYAMLファイルへのパス。通常、パスと設定が含まれます。 検証データ。例: "coco8.yaml".
imgsz640モデルの入力画像サイズです。正方形の画像の場合は単一の整数、またはタプルを指定できます。 (width, height) 非正方形の場合(例: (640, 480).
halfFalseFP16(半精度)推論を有効にし、メモリ使用量を削減し、互換性のあるハードウェアでの速度を向上させる可能性があります。使用 half=True を有効にします。
int8FalseINT8量子化を有効にして、サポートされているデバイスでのパフォーマンスをさらに最適化します。特にエッジデバイスに役立ちます。設定 int8=True 使用するには。
deviceNoneベンチマーク用の計算デバイス(例:)を定義します。 "cpu" または "cuda:0".
verboseFalseログ出力の詳細レベルを制御します。設定 verbose=True 詳細なログ用。
format''指定されたエクスポート形式のみをベンチマークします(例: format=onnx)。空白のままにすると、サポートされているすべての形式が自動的にテストされます。

エクスポート形式

ベンチマークは、以下に示す可能なすべてのエクスポート形式で自動的に実行を試みます。または、以下を使用して特定の形式のベンチマークを実行できます。 format 引数は、以下に示す形式のいずれかを受け入れます。

形式format 引数モデルメタデータ引数
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

詳細な export 詳細は エクスポート ページ。

よくある質問

Ultralyticsを使用してYOLO26モデルのパフォーマンスをベンチマークするにはどうすればよいですか?

Ultralytics YOLO26は、異なるエクスポート形式におけるモデルのパフォーマンスを評価するためのベンチマークモードを提供します。このモードは、平均平均精度 (mAP50-95)、精度、ミリ秒単位の推論時間などの主要なメトリクスに関する洞察を提供します。ベンチマークを実行するには、pythonまたはCLIコマンドを使用できます。例えば、GPUでベンチマークを実行するには:

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

ベンチマーク引数の詳細については、引数セクションをご覧ください。

YOLO26モデルを異なる形式にエクスポートする利点は何ですか?

YOLO26モデルをONNXTensorRTOpenVINOなどの異なる形式にエクスポートすることで、展開環境に基づいてパフォーマンスを最適化できます。例:

  • ONNX: 最大3倍のCPU高速化を実現します。
  • TensorRT: 最大5倍のGPU高速化を実現します。
  • OpenVINO: Intelハードウェア向けに最適化されています。

これらの形式は、モデルの速度と精度の両方を向上させ、さまざまな現実世界のアプリケーションでより効率的に動作するようにします。詳細については、Export ページをご覧ください。

YOLO26モデルの評価において、ベンチマークが極めて重要なのはなぜですか?

YOLO26モデルのベンチマークは、いくつかの理由から不可欠です:

  • 情報に基づいた意思決定: 速度と精度の間のトレードオフを理解します。
  • リソース配分: さまざまなハードウェアオプションでのパフォーマンスを評価します。
  • 最適化: 特定のユースケースに最適なエクスポート形式を決定します。
  • コスト効率: ベンチマーク結果に基づいてハードウェアの使用率を最適化します。

mAP50-95、Top-5精度、推論時間などの主要なメトリクスは、これらの評価を行う上で役立ちます。詳細については、「主要メトリクス」セクションを参照してください。

YOLO26がサポートしているエクスポート形式にはどのようなものがあり、それぞれの利点は何ですか?

YOLO26は様々なエクスポート形式をサポートしており、それぞれが特定のハードウェアとユースケースに合わせて調整されています:

  • ONNX: CPUパフォーマンスに最適です。
  • TensorRT: GPU効率に最適です。
  • OpenVINO: Intelハードウェア向けに最適化されています。
  • CoreML & TensorFlow iOSおよび一般的なMLアプリケーションに役立ちます。

サポートされている形式とそれぞれの利点の完全なリストについては、サポートされているエクスポート形式セクションを確認してください。

YOLO26ベンチマークを微調整するために、どのような引数を使用できますか?

ベンチマークを実行する際、特定のニーズに合わせていくつかの引数をカスタマイズできます。

  • model: モデルファイルへのパス(例: 「yolo26n.pt」)。
  • data: データセットを定義するyamlファイルへのパス(例:「coco8.yaml」)。
  • imgsz: 入力画像のサイズ。単一の整数またはタプルとして指定します。
  • half: より良いパフォーマンスのためにFP16推論を有効にします。
  • int8: エッジデバイス用にINT8量子化をアクティブにします。
  • device: 計算デバイス(例: "cpu", "cuda:0")を指定します。
  • verbose: ロギングの詳細レベルを制御します。

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



📅 2年前に作成 ✏️ 2日前に更新
glenn-jocherRizwanMunawarBurhan-Qambitious-octopuspderrengerlakshanthadY-T-GUltralyticsAssistantjk4eMatthewNoyceRizwanMunawar

コメント