Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024

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

Nuvola Ladi

3 мин чтения

24 июля 2024 г.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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