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.

4.8 KiB

comments description keywords
true Learn how to profile speed and accuracy of YOLOv8 across various export formats; get insights on mAP50-95, accuracy_top5 metrics, and more. Ultralytics, YOLOv8, benchmarking, speed profiling, accuracy profiling, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, YOLO export formats

Benchmark mode is used to profile the speed and accuracy of various export formats for YOLOv8. The benchmarks provide information on the size of the exported format, its mAP50-95 metrics (for object detection, segmentation and pose) or accuracy_top5 metrics (for classification), and the inference time in milliseconds per image across various export formats like ONNX, OpenVINO, TensorRT and others. This information can help users choose the optimal export format for their specific use case based on their requirements for speed and accuracy.

!!! tip "Tip"

* Export to ONNX or OpenVINO for up to 3x CPU speedup.
* Export to TensorRT for up to 5x GPU speedup.

Usage Examples

Run YOLOv8n benchmarks on all supported export formats including ONNX, TensorRT etc. See Arguments section below for a full list of export arguments.

!!! example ""

=== "Python"

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

    # Benchmark on 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
    ```

Arguments

Arguments such as model, data, imgsz, half, device, and verbose provide users with the flexibility to fine-tune the benchmarks to their specific needs and compare the performance of different export formats with ease.

Key Value Description
model None path to model file, i.e. yolov8n.pt, yolov8n.yaml
data None path to yaml referencing the benchmarking dataset (under val label)
imgsz 640 image size as scalar or (h, w) list, i.e. (640, 480)
half False FP16 quantization
int8 False INT8 quantization
device None device to run on, i.e. cuda device=0 or device=0,1,2,3 or device=cpu
verbose False do not continue on error (bool), or val floor threshold (float)

Export Formats

Benchmarks will attempt to run automatically on all possible export formats below.

Format format Argument Model Metadata
PyTorch - yolov8n.pt
TorchScript torchscript yolov8n.torchscript
ONNX onnx yolov8n.onnx
OpenVINO openvino yolov8n_openvino_model/
TensorRT engine yolov8n.engine
CoreML coreml yolov8n.mlmodel
TF SavedModel saved_model yolov8n_saved_model/
TF GraphDef pb yolov8n.pb
TF Lite tflite yolov8n.tflite
TF Edge TPU edgetpu yolov8n_edgetpu.tflite
TF.js tfjs yolov8n_web_model/
PaddlePaddle paddle yolov8n_paddle_model/
ncnn ncnn yolov8n_ncnn_model/

See full export details in the Export page.