Узнай, как обучать, проверять, предсказывать, экспортировать и сравнивать с Ultralytics YOLO модели!
Давай погрузимся в мир Ultralytics и изучим различные режимы, доступные для разных моделей YOLO . Независимо от того, обучаешь ли ты пользовательские модели обнаружения объектов или работаешь над сегментацией, понимание этих режимов - важнейший шаг. Давай сразу же приступим!
Вдокументации Ultralytics ты найдешь несколько режимов, которые ты можешь использовать для своих моделей, будь то обучение, проверка, прогноз, экспорт, бенчмарк или отслеживание. Каждый из этих режимов служит уникальной цели и помогает тебе оптимизировать работу модели и ее развертывание.
Для начала давай рассмотрим режим поезда. Именно здесь ты создаешь и совершенствуешь свою модель. В документации ты найдешь подробные инструкции и видеоруководства, благодаря которым легко приступить к обучению своих пользовательских моделей.
Обучение модели заключается в предоставлении ей нового набора данных, что позволяет ей изучать различные закономерности. После обучения модель можно использовать в режиме реального времени для обнаружения новых объектов, на которых она обучалась. Прежде чем начать процесс обучения, необходимо аннотировать твой набор данных в формате YOLO .
Далее давай погрузимся в режим валидации. Валидация необходима для настройки гиперпараметров и обеспечения хорошей работы твоей модели. Ultralytics предоставляет множество вариантов валидации, включая автоматические настройки, поддержку нескольких метрик и совместимость с API Python . Ты даже можешь запустить валидацию прямо через интерфейс командной строки (CLI) с помощью следующей команды.
Валидация крайне важна для:
Ultralytics также содержит пользовательские примеры, которые ты можешь скопировать и вставить в свои скрипты Python . Эти примеры включают такие параметры, как размер изображения, размер партии, устройство (CPU или GPU) и пересечение над объединением (IoU).
Когда твоя модель обучена и проверена, настало время делать прогнозы. Режим Predict позволяет тебе запустить вывод на новых данных и увидеть свою модель в действии. Этот режим идеально подходит для проверки работы твоей модели на реальных данных.
С помощью приведенного ниже фрагмента кода python ты сможешь запускать предсказания на своих изображениях!
После проверки и прогнозирования ты, возможно, захочешь развернуть свою модель. Режим экспорта позволяет преобразовать твою модель в различные форматы, такие как 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 миллисекунд.
Бенчмаркинг демонстрирует, как различные аппаратные средства и форматы экспорта могут повлиять на производительность твоей модели. Очень важно проводить бенчмаркинг твоих моделей, особенно если ты планируешь развернуть их на пользовательском оборудовании или граничных устройствах. Этот процесс гарантирует, что твоя модель оптимизирована для целевой среды и обеспечивает наилучшую производительность.
В общем, режимы в документации Ultralytics - это мощные инструменты для обучения, проверки, прогнозирования, экспорта и бенчмаркинга твоих моделей YOLO . Каждый режим играет важную роль в оптимизации твоей модели и подготовке ее к развертыванию.
Не забудь изучить и присоединиться к нашему сообществу и опробовать предоставленные фрагменты кода в своих проектах. С помощью этих инструментов ты сможешь создавать высокопроизводительные модели и обеспечивать их эффективную работу в любом окружении.
Начни свое путешествие с будущим машинного обучения