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

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

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

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

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

Режим поезда

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

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

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

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


yolo detect val model=yolov8n.pt # val official model

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

Валидация крайне важна для:

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

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

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

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

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


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Логотип FacebookЛоготип ТвиттераЛоготип LinkedInСимвол копирования-ссылки

Читайте больше в этой категории

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

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