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

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

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