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.
 
 
 

8.7 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: Для оптимальной производительности ЦП
  • TensorRT: Для максимальной эффективности GPU
  • OpenVINO: Для оптимизации под аппаратное обеспечение Intel
  • CoreML, TensorFlow SavedModel и другие: Для разнообразных потребностей развертывания.

!!! Tip "Совет"

* Экспортируйте в ONNX или OpenVINO для ускорения процессора до 3 раз.
* Экспортируйте в TensorRT для ускорения GPU до 5 раз.

Примеры использования

Запустите бенчмарк YOLOv8n на всех поддерживаемых форматах экспорта, включая ONNX, TensorRT и т. д. Смотрите раздел Аргументы ниже для полного списка параметров экспорта.

!!! 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
    ```

Аргументы

Аргументы, такие как model, data, imgsz, half, device и verbose, предоставляют пользователям гибкость для тонкой настройки бенчмарков под их конкретные потребности и сравнения производительности различных форматов экспорта с легкостью.

Ключ Значение Описание
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 на странице Экспорт.