Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Как обучать, проверять, прогнозировать, экспортировать и сравнивать модели Ultralytics YOLO

Nuvola Ladi

3 мин чтения

24 июля 2024 г.

Узнайте, как обучать, проверять, прогнозировать, экспортировать и сравнивать с помощью моделей Ultralytics YOLO !

Давайте погрузимся в мир Ultralytics и изучим различные режимы, доступные для разных моделей YOLO . Независимо от того, обучаете ли вы пользовательские модели обнаружения объектов или работаете над сегментацией, понимание этих режимов - важнейший шаг. Давайте сразу же приступим!

Вдокументации Ultralytics вы найдете несколько режимов, которые вы можете использовать для своих моделей, будь то обучение, проверка, прогнозирование, экспорт, сравнительный анализ или track. Каждый из этих режимов служит уникальной цели и помогает оптимизировать работу модели и ее развертывание.

Режим обучения

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

Обучение модели заключается в предоставлении ей нового набора данных, что позволяет ей изучить различные закономерности. После обучения модель можно использовать в режиме реального времени для detect новых объектов, на которых она была обучена. Прежде чем начать процесс обучения, необходимо аннотировать набор данных в формате YOLO .

Режим валидации

Далее перейдем к режиму валидации. Валидация необходима для настройки гиперпараметров и обеспечения хорошей работы модели. Ultralytics предоставляет множество вариантов валидации, включая автоматические настройки, поддержку нескольких параметров и совместимость с Python API. Вы даже можете запустить проверку непосредственно через интерфейс командной строкиCLI) с помощью следующей команды.

Зачем проводить валидацию?

Валидация имеет решающее значение для:

  • Точность (Precision): Обеспечение точного обнаружения объектов вашей моделью.
  • Удобство: Оптимизация процесса проверки.
  • Гибкость: Предлагает несколько методов проверки.
  • Настройка гиперпараметров: Оптимизация вашей модели для повышения производительности.

Ultralytics также предоставляет пользовательские примеры, которые вы можете скопировать и вставить в свои сценарии на Python . Эти примеры включают такие параметры, как размер изображения, размер партии, устройствоCPU или GPU) и пересечение над объединениемIoU).

Режим прогнозирования

После того как модель обучена и проверена, настало время делать прогнозы. Режим Predict позволяет запустить вывод на новых данных и увидеть модель в действии. Этот режим идеально подходит для проверки работы модели на реальных данных.

С помощью приведенного ниже фрагмента кода python вы сможете выполнять прогнозы на изображениях!

Режим экспорта

После проверки и прогнозирования вы можете захотеть развернуть свою модель. Режим экспорта позволяет конвертировать модель в различные форматы, такие как ONNX или TensorRT, что упрощает ее развертывание на различных платформах.

Эталонный режим

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

Как проводить бенчмаркинг

Для запуска бенчмарка вы можете воспользоваться примерами, представленными в документации. В этих примерах рассматриваются ключевые метрики и форматы экспорта, включая ONNX и TensorRT. Вы также можете указать такие параметры, как квантование целых чисел (INT8) или квантование с плавающей точкой (FP16), чтобы увидеть, как различные настройки влияют на производительность.

Пример реального бенчмаркинга

Давайте рассмотрим реальный пример бенчмарка. Когда мы проводим бенчмарк нашей модели PyTorch , мы замечаем, что скорость вывода данных составляет 68 миллисекунд на GPU RTX 3070. После экспорта в TorchScript скорость вывода упала до 4 миллисекунд, что свидетельствует о значительном улучшении.

Для моделей ONNX мы достигли скорости вывода 21 миллисекунды. Тестируя эти модели на CPU ( Intel i9 13-го поколения), мы видим разные результаты. TorchScript работает со скоростью 115 миллисекунд, в то время как ONNX работает лучше - 84 миллисекунды. Наконец, OpenVINO , оптимизированный для аппаратного обеспечения Intel , достигает молниеносной скорости 23 миллисекунды.

__wf_reserved_inherit
Рис. 1. Николай Нильсен демонстрирует, как проводить бенчмаркинг с помощью Ultralytics YOLO Models.

Важность бенчмаркинга

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

Заключение

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

Не забудьте изучить и присоединиться к нашему сообществу и опробовать предоставленные фрагменты кода в своих проектах. С помощью этих инструментов вы можете создавать высокопроизводительные модели и обеспечивать их эффективную работу в любой среде.

Давайте строить будущее
ИИ вместе!

Начните свой путь в будущее машинного обучения

Начать бесплатно