Перейти к содержанию

Бенчмаркинг моделей с Ultralytics YOLO

Ultralytics YOLO Экосистема и интеграции

Визуализация бенчмарков

Обновить браузер

Возможно, вам придется обновить страницу для корректного просмотра графиков из-за возможных проблем с файлами cookie.

Введение

После обучения и проверки модели следующим логическим шагом будет оценка ее производительности в различных реальных сценариях. Режим Benchmark в Ultralytics YOLO11 служит этой цели, предоставляя надежную основу для оценки скорости и точности вашей модели в различных форматах экспорта.



Смотреть: Бенчмарк Ultralytics YOLO11 Модели | Как сравнить производительность модели на разном оборудовании?

Почему бенчмаркинг имеет решающее значение?

  • Обоснованные решения: Получите представление о компромиссах между скоростью и точностью.
  • Распределение ресурсов: Поймите, как различные форматы экспорта работают на разном оборудовании.
  • Оптимизация: Узнайте, какой формат экспорта обеспечивает наилучшую производительность для вашего конкретного случая использования.
  • Экономическая эффективность: Более эффективное использование аппаратных ресурсов на основе результатов эталонных тестов.

Ключевые показатели в режиме бенчмарка

Поддерживаемые форматы экспорта

  • ONNX: Для оптимальной работы CPU
  • TensorRT: Для максимальной эффективности GPU
  • OpenVINO: Для оптимизации аппаратного обеспечения Intel
  • CoreML, TensorFlow SavedModel , и многое другое: Для различных потребностей в развертывании.

Наконечник

  • Экспортируйте в ONNX или OpenVINO , чтобы ускорить работу с CPU в 3 раза.
  • Экспорт в TensorRT для ускорения до 5x GPU .

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

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

Пример

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 format=onnx

Аргументы

Такие аргументы, как 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:

Пример

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

Более подробную информацию об аргументах бенчмарка можно найти в разделе Аргументы.

Каковы преимущества экспорта моделей 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: Управление уровнем детализации журнала.

Полный список аргументов см. в разделе Аргументы.

📅 Создано 1 год назад ✏️ Обновлено 7 дней назад

Комментарии