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 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
на странице Экспорт.