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

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

24 июля 2024 г.
Узнайте, как обучать, проверять, прогнозировать, экспортировать и сравнивать с помощью моделей Ultralytics YOLO !
Давайте погрузимся в мир Ultralytics и изучим различные режимы, доступные для разных моделей YOLO . Независимо от того, обучаете ли вы пользовательские модели обнаружения объектов или работаете над сегментацией, понимание этих режимов - важнейший шаг. Давайте сразу же приступим!
Вдокументации Ultralytics вы найдете несколько режимов, которые вы можете использовать для своих моделей, будь то обучение, проверка, прогнозирование, экспорт, сравнительный анализ или track. Каждый из этих режимов служит уникальной цели и помогает оптимизировать работу модели и ее развертывание.
Для начала давайте рассмотрим режим обучения. Здесь вы создаете и совершенствуете свою модель. Подробные инструкции и видеогиды можно найти в документации, что упрощает начало обучения ваших пользовательских моделей.
Обучение модели заключается в предоставлении ей нового набора данных, что позволяет ей изучить различные закономерности. После обучения модель можно использовать в режиме реального времени для detect новых объектов, на которых она была обучена. Прежде чем начать процесс обучения, необходимо аннотировать набор данных в формате YOLO .
Далее перейдем к режиму валидации. Валидация необходима для настройки гиперпараметров и обеспечения хорошей работы модели. Ultralytics предоставляет множество вариантов валидации, включая автоматические настройки, поддержку нескольких параметров и совместимость с Python API. Вы даже можете запустить проверку непосредственно через интерфейс командной строкиCLI) с помощью следующей команды.
Валидация имеет решающее значение для:
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 миллисекунды.

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