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

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

Ключ Значение по умолчанию Описание
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 для подробных журналов.
format '' Проведите бенчмаркинг модели в одном формате экспорта, например: format=onnx

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

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

Формат format Аргумент Модель Метаданные Аргументы
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, 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: Управление уровнем детализации логирования.

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



📅 Создано 1 год назад ✏️ Обновлено 3 месяца назад

Комментарии