You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

7.1 KiB

comments description keywords
true YOLOv8を様々なエクスポート形式でスピードと精度をプロファイリングする方法を学び、mAP50-95、accuracy_top5のメトリクスなどの洞察を得る。 Ultralytics, YOLOv8, ベンチマーク, スピードプロファイリング, 精度プロファイリング, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, YOLOエクスポート形式

Ultralytics YOLO でのモデルベンチマーク

Ultralytics YOLOエコシステムと統合

はじめに

モデルがトレーニングされ、検証された後、次の論理的なステップは、さまざまな現実世界のシナリオでのパフォーマンスを評価することです。Ultralytics YOLOv8 のベンチマークモードは、さまざまなエクスポート形式でモデルのスピードと精度を評価するための頑健なフレームワークを提供します。

ベンチマークが重要な理由は?

  • 情報に基づいた決定: スピードと精度のトレードオフについての洞察を得る。
  • リソース割り当て: 異なるハードウェアで異なるエクスポート形式がどのように動作するかを理解する。
  • 最適化: 特定のユースケースで最高のパフォーマンスを提供するエクスポート形式を学ぶ。
  • コスト効率: ベンチマーク結果に基づいてハードウェアリソースをより効率的に使用する。

ベンチマークモードでの主要なメトリクス

  • mAP50-95: 物体検出、セグメンテーション、ポーズ推定に使用。
  • accuracy_top5: 画像分類に使用。
  • 推論時間: 各画像に要する時間(ミリ秒)。

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

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

!!! tip "ヒント"

* CPUスピードアップのためにONNXまたはOpenVINOにエクスポートする。
* GPUスピードアップのためにTensorRTにエクスポートする。

使用例

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

!!! example ""

=== "Python"

    ```python
    from ultralytics.utils.benchmarks import benchmark

    # GPUでベンチマーク
    benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
    ```
=== "CLI"

    ```bash
    yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
    ```

引数

modeldataimgszhalfdeviceverbose などの引数は、特定のニーズに合わせてベンチマークを微調整し、さまざまなエクスポート形式のパフォーマンスを容易に比較するためにユーザーに柔軟性を提供します。

キー 説明
model None モデルファイルへのパス、例: yolov8n.pt, yolov8n.yaml
data None ベンチマークデータセットを参照するYAMLへのパス(valラベルの下)
imgsz 640 画像サイズをスカラーまたは(h, w)リストで、例: (640, 480)
half False FP16量子化
int8 False INT8量子化
device None 実行デバイス、例: cuda device=0 または device=0,1,2,3 または device=cpu
verbose False エラー時に続行しない(bool)、またはval床しきい値(float)

エクスポート形式

以下の可能なすべてのエクスポート形式で自動的にベンチマークを試みます。

形式 format 引数 モデル メタデータ 引数
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n_openvino_model/ imgsz, half
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras
TF GraphDef pb yolov8n.pb imgsz
TF Lite tflite yolov8n.tflite imgsz, half, int8
TF Edge TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF.js tfjs yolov8n_web_model/ imgsz
PaddlePaddle paddle yolov8n_paddle_model/ imgsz
ncnn ncnn yolov8n_ncnn_model/ imgsz, half

エクスポートページでさらに詳しいexportの詳細をご覧ください。