Бенчмаркинг моделей с Ultralytics YOLO
Визуализация бенчмарков
Обновить браузер
Возможно, вам придется обновить страницу для корректного просмотра графиков из-за возможных проблем с файлами cookie.
Введение
После обучения и проверки модели следующим логическим шагом будет оценка ее производительности в различных реальных сценариях. Режим Benchmark в Ultralytics YOLO11 служит этой цели, предоставляя надежную основу для оценки скорости и точности вашей модели в различных форматах экспорта.
Смотреть: Бенчмарк Ultralytics YOLO11 Модели | Как сравнить производительность модели на разном оборудовании?
Почему бенчмаркинг имеет решающее значение?
- Обоснованные решения: Получите представление о компромиссах между скоростью и точностью.
- Распределение ресурсов: Поймите, как различные форматы экспорта работают на разном оборудовании.
- Оптимизация: Узнайте, какой формат экспорта обеспечивает наилучшую производительность для вашего конкретного случая использования.
- Экономическая эффективность: Более эффективное использование аппаратных ресурсов на основе результатов эталонных тестов.
Ключевые показатели в режиме бенчмарка
- mAP50-95: Для обнаружения объектов, сегментации и оценки положения.
- accuracy_top5: Для классификации изображений.
- Время вывода: время, затрачиваемое на каждое изображение, в миллисекундах.
Поддерживаемые форматы экспорта
- ONNX: Для оптимальной работы CPU
- TensorRT: Для максимальной эффективности GPU
- OpenVINO: Для оптимизации аппаратного обеспечения Intel
- CoreML, TensorFlow SavedModel , и многое другое: Для различных потребностей в развертывании.
Наконечник
- Экспортируйте в ONNX или OpenVINO , чтобы ускорить работу с CPU в 3 раза.
- Экспорт в TensorRT для ускорения до 5x GPU .
Примеры использования
Запуск бенчмарков YOLO11n на всех поддерживаемых форматах экспорта, включая ONNX, TensorRT и т. д. Полный список аргументов экспорта см. в разделе Аргументы ниже.
Пример
Аргументы
Такие аргументы, как model
, data
, imgsz
, half
, device
, verbose
и format
предоставляет пользователям гибкость в настройке бенчмарков в соответствии с их конкретными потребностями и позволяет легко сравнивать производительность различных форматов экспорта.
Ключ | Значение по умолчанию | Описание |
---|---|---|
model |
None |
Указывает путь к файлу модели. Принимает оба варианта .pt и .yaml форматы, например, "yolo11n.pt" для предварительно обученных моделей или файлов конфигурации. |
data |
None |
Путь к YAML-файлу, определяющему набор данных для бенчмаркинга, обычно включающему пути и настройки для данные проверки. Пример: "coco8.yaml" . |
imgsz |
640 |
Размер входного изображения для модели. Может быть одним целым числом для квадратных изображений или кортежем (width, height) для неквадратных, например, (640, 480) . |
half |
False |
Включает вычисления в формате FP16 (с половинной точностью), что уменьшает потребление памяти и, возможно, увеличивает скорость работы на совместимом оборудовании. Использовать half=True чтобы включить. |
int8 |
False |
Активирует квантование INT8 для дальнейшей оптимизации производительности на поддерживаемых устройствах, особенно полезно для краевых устройств. Установить int8=True использовать. |
device |
None |
Определяет вычислительное устройство (устройства) для бенчмаркинга, например "cpu" или "cuda:0" . |
verbose |
False |
Управляет уровнем детализации вывода логов. Булево значение; устанавливается verbose=True для подробных журналов или float для пороговых ошибок. |
format |
'' |
Проверьте модель на одном формате экспорта, т.е. format=onnx |
Форматы экспорта
Бенчмарки попытаются автоматически запуститься для всех возможных форматов экспорта, перечисленных ниже. Кроме того, вы можете запустить бенчмарки для определенного формата с помощью опции format
аргумент, который принимает любой из перечисленных ниже форматов.
Формат | format Аргумент |
Модель | Метаданные | Аргументы |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , optimize , nms , batch |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data |
TF Край TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolov8n_imx_model/ |
✅ | imgsz , int8 , data |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name |
Смотреть полностью export
подробности в Экспорт страница.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как проверить производительность моей модели YOLO11 с помощью Ultralytics?
Ultralytics YOLO11 предлагает режим Benchmark для оценки производительности вашей модели в различных форматах экспорта. Этот режим позволяет получить представление о таких ключевых показателях, как средняя точность (mAP50-95), точность и время вывода в миллисекундах. Для запуска бенчмарков можно использовать команды Python или CLI . Например, для бенчмарка на GPU:
Пример
Более подробную информацию об аргументах бенчмарка можно найти в разделе Аргументы.
Каковы преимущества экспорта моделей YOLO11 в различные форматы?
Экспорт моделей YOLO11 в различные форматы, такие как ONNX, TensorRTи OpenVINO позволяет оптимизировать производительность в зависимости от среды развертывания. Например:
- ONNX: Обеспечивает ускорение до 3x CPU .
- TensorRT: Обеспечивает ускорение до 5x GPU .
- OpenVINO: Специально оптимизирован для аппаратного обеспечения Intel .
Эти форматы повышают как скорость, так и точность ваших моделей, делая их более эффективными для различных реальных приложений. Для получения подробной информации посетите страницу Экспорт.
Почему бенчмаркинг имеет решающее значение для оценки моделей YOLO11 ?
Бенчмаркинг моделей YOLO11 необходим по нескольким причинам:
- Обоснованные решения: Поймите компромисс между скоростью и точностью.
- Распределение ресурсов: Оцените производительность различных вариантов оборудования.
- Оптимизация: Определите, какой формат экспорта обеспечивает наилучшую производительность для конкретных случаев использования.
- Экономическая эффективность: Оптимизация использования аппаратного обеспечения на основе результатов эталонных тестов.
Ключевые метрики, такие как mAP50-95, точность Top-5 и время вывода, помогают сделать эти оценки. Дополнительную информацию см. в разделе " Ключевые метрики ".
Какие форматы экспорта поддерживает YOLO11 и в чем их преимущества?
YOLO11 поддерживает множество форматов экспорта, каждый из которых предназначен для конкретного оборудования и использования:
- ONNX: Лучше всего подходит для CPU .
- TensorRT: Идеально подходит для GPU эффективности.
- OpenVINO: Оптимизировано для оборудования Intel .
- CoreML & TensorFlow: Используется для iOS и общих приложений ML.
Полный список поддерживаемых форматов и их соответствующие преимущества можно найти в разделе Поддерживаемые форматы экспорта.
Какие аргументы можно использовать для точной настройки бенчмарков YOLO11 ?
При запуске бенчмарков можно настроить несколько аргументов под конкретные нужды:
- модель: Путь к файлу модели (например, "yolo11n.pt").
- data: Путь к YAML-файлу, определяющему набор данных (например, "coco8.yaml").
- imgsz: размер входного изображения, либо в виде одного целого числа, либо в виде кортежа.
- половина: Включите вывод FP16 для повышения производительности.
- int8: Активирует квантование INT8 для краевых устройств.
- устройство: Укажите вычислительное устройство (например, "cpu", "cuda:0").
- verbose: Управление уровнем детализации журнала.
Полный список аргументов см. в разделе Аргументы.