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

Эталонное тестирование моделей с помощью Ultralytics YOLO

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

Визуализация эталонного тестирования

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

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

Введение

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



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

Почему эталонное тестирование имеет решающее значение?

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

Ключевые метрики в режиме эталонного тестирования

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

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

Совет

  • Экспорт в ONNX или OpenVINO для 3-кратного ускорения CPU.
  • Экспорт в TensorRT для 5-кратного ускорения 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 предоставляют пользователям гибкость для точной настройки тестов в соответствии с их конкретными потребностями и с легкостью сравнивать производительность различных форматов экспорта.

КлючЗначение по умолчаниюОписание
modelNoneУказывает путь к файлу модели. Принимает оба .pt и .yaml формата, например: "yolo11n.pt" для предварительно обученных моделей или файлов конфигурации.
dataNoneПуть к YAML-файлу, определяющему набор данных для бенчмаркинга, обычно включающему пути и настройки для данным валидации. Пример: "coco8.yaml".
imgsz640Размер входного изображения для модели. Может быть одним целым числом для квадратных изображений или кортежем (width, height) для неквадратных, например, (640, 480).
halfFalseВключает вывод FP16 (полуточной точности), снижая использование памяти и, возможно, увеличивая скорость на совместимом оборудовании. Используйте half=True чтобы включить.
int8FalseАктивирует квантование INT8 для дальнейшей оптимизации производительности на поддерживаемых устройствах, особенно полезно для периферийных устройств. Установите int8=True для использования.
deviceNoneОпределяет вычислительное устройство(а) для бенчмаркинга, например, "cpu" или "cuda:0".
verboseFalseУправляет уровнем детализации вывода журнала. Установите verbose=True для подробных журналов.
format''Бенчмарки только указанного формата экспорта (например, format=onnx). Оставьте это поле пустым, чтобы автоматически проверить все поддерживаемые форматы.

Форматы экспорта

Тесты производительности будут автоматически запускаться для всех возможных форматов экспорта, перечисленных ниже. В качестве альтернативы, вы можете запустить тесты для определенного формата, используя format аргумент, который принимает любой из форматов, упомянутых ниже.

Форматformat АргументМодельМетаданныеАргументы
PyTorch-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo11n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo11n.pbimgsz, batch, device
TF Litetfliteyolo11n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo11n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo11n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch, device
MNNmnnyolo11n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo11n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo11n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo11n_executorch_model/imgsz, device

Смотрите полную информацию о 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: Обеспечивает до 3-кратного увеличения скорости CPU.
  • TensorRT: Предлагает до 5-кратного увеличения скорости GPU.
  • OpenVINO: Специально оптимизировано для оборудования Intel.

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

Почему эталонное тестирование имеет решающее значение при оценке моделей YOLO11?

Эталонное тестирование ваших моделей YOLO11 необходимо по нескольким причинам:

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

Ключевые метрики, такие как mAP50-95, точность Top-5 и время инференса, помогают в проведении этих оценок. Обратитесь к разделу Ключевые метрики для получения дополнительной информации.

Какие форматы экспорта поддерживаются YOLO11 и каковы их преимущества?

YOLO11 поддерживает различные форматы экспорта, каждый из которых предназначен для конкретного оборудования и вариантов использования:

  • ONNX: Лучше всего подходит для производительности CPU.
  • TensorRT: Идеально подходит для эффективности GPU.
  • OpenVINO: Оптимизировано для оборудования Intel.
  • CoreML и TensorFlow: Полезно для iOS и общих приложений машинного обучения.

Чтобы получить полный список поддерживаемых форматов и их соответствующих преимуществ, ознакомьтесь с разделом Поддерживаемые форматы экспорта.

Какие аргументы я могу использовать для точной настройки моих эталонных тестов YOLO11?

При проведении эталонных тестов можно настроить несколько аргументов в соответствии с конкретными потребностями:

  • model: Путь к файлу модели (например, "yolo11n.pt").
  • data: Путь к YAML-файлу, определяющему набор данных (например, "coco8.yaml").
  • imgsz: Размер входного изображения, либо как одно целое число, либо как кортеж.
  • half: Включите вывод FP16 для повышения производительности.
  • int8: Активируйте квантование INT8 для периферийных устройств.
  • device: Укажите вычислительное устройство (например, "cpu", "cuda:0").
  • verbose: Управление уровнем детализации логирования.

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



📅 Создано 2 года назад ✏️ Обновлено 5 дней назад
glenn-jocherBurhan-Qambitious-octopuslakshanthadRizwanMunawarY-T-GUltralyticsAssistantjk4eMatthewNoyceLaughing-q

Комментарии