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

Нувола Лади

3 мин. чтения

24 июля 2024 г.

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

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

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

Режим поезда

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

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

Режим проверки

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

Зачем проверять?

Валидация очень важна для:

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

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

Режим предсказания

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

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

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

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

Режим бенчмарка

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

Как провести сравнительный анализ

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

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

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

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

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

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

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

Заключение

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

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

Давайте вместе построим будущее
искусственного интеллекта!

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

Начните бесплатно
Ссылка копируется в буфер обмена