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

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

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

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

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

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

Введение

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



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

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

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

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

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

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

Совет

  • Экспорт в ONNX или OpenVINO для 3-кратного ускорения CPU.
  • Экспорт в TensorRT для 5-кратного ускорения GPU.

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

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

Пример

from ultralytics.utils.benchmarks import benchmark

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

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

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

Аргументы

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

КлючЗначение по умолчаниюОписание
modelNoneУказывает путь к файлу модели. Принимает оба .pt и .yaml формата, например: "yolo26n.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-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

Смотрите полную информацию о export подробности в Экспорт странице.

Часто задаваемые вопросы

Как оценить производительность моей модели YOLO26 с помощью Ultralytics?

Ultralytics YOLO26 предлагает режим бенчмаркинга для оценки производительности вашей модели в различных форматах экспорта. Этот режим предоставляет информацию о ключевых метриках, таких как средняя средняя точность (mAP50-95), точность и время инференса в миллисекундах. Для запуска бенчмарков можно использовать команды Python или CLI. Например, для бенчмаркинга на GPU:

Пример

from ultralytics.utils.benchmarks import benchmark

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

Для получения более подробной информации об аргументах бенчмарка посетите раздел Аргументы.

Каковы преимущества экспорта моделей YOLO26 в различные форматы?

Экспорт моделей YOLO26 в различные форматы, такие как ONNX, TensorRT и OpenVINO, позволяет оптимизировать производительность в зависимости от вашей среды развертывания. Например:

  • ONNX: Обеспечивает до 3-кратного увеличения скорости CPU.
  • TensorRT: Предлагает до 5-кратного увеличения скорости GPU.
  • OpenVINO: Специально оптимизировано для оборудования Intel.

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

Почему бенчмаркинг имеет решающее значение при оценке моделей YOLO26?

Бенчмаркинг ваших моделей YOLO26 необходим по нескольким причинам:

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

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

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

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

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

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

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

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

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

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



📅 Создано 2 лет назад ✏️ Обновлено 2 дней назад
glenn-jocherRizwanMunawarBurhan-Qambitious-octopuspderrengerlakshanthadY-T-GUltralyticsAssistantjk4eMatthewNoyceRizwanMunawar

Комментарии