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

Экспорт Ultralytics YOLO11 с помощью интеграции PaddlePaddle

Узнай, как экспортировать модели Ultralytics YOLO , такие как Ultralytics YOLO11 , с помощью PaddlePaddle для эффективного развертывания на граничных, мобильных и облачных платформах.

По мере развития искусственного интеллекта (ИИ) машины все лучше понимают окружающий их мир. Одна из ключевых областей, определяющих этот прогресс, - компьютерное зрение, направление ИИ, которое позволяет машинам интерпретировать и принимать решения на основе визуальных данных.

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

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

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

Рис. 1. Развертывание модели - ключевая часть любого проекта по компьютерному зрению.

Чтобы поддержать это, моделиUltralytics YOLO , такие как YOLO11 , могут быть экспортированы в различные форматы в зависимости от целевой платформы. Один из таких форматов - PaddlePaddle, фреймворк ИИ с открытым исходным кодом, который позволяет эффективно развертывать модели и делать выводы на широком спектре устройств и систем.

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

Что такое PaddlePaddle? 

Развертывание моделей ИИ за пределами исследовательской среды, например на мобильных устройствах или граничном оборудовании, порой бывает непростой задачей, особенно когда тебе нужно, чтобы они работали эффективно и использовали минимум ресурсов. PaddlePaddle - фреймворк для глубокого обучения, призванный помочь именно в этом.

Это китайская платформа с открытым исходным кодом, название которой расшифровывается как Parallel Distributed Deep Learning. Разработанная Baidu, компанией, известной своей работой в области ИИ и программной инфраструктуры, PaddlePaddle была создана специально для реальных приложений, а не только для исследований.

Разработчики могут запускать модели в формате PaddlePaddle на серверах, пограничных устройствах и даже мобильном оборудовании. Она также поддерживает инструменты, упрощающие разработку ИИ, включая варианты с низким уровнем кода и без кода. Платформа имеет сильное сообщество разработчиков, насчитывающее более 4,7 миллиона пользователей, и используется в самых разных отраслях, включая здравоохранение, сельское хозяйство, производство и финансы.

Ключевые особенности PaddlePaddle

Вот несколько ключевых особенностей, которые помогают PaddlePaddle запускать модели более эффективно на реальных устройствах:

  • Преобразование динамических графов в статические: Эта функция превращает гибкую модель в фиксированную версию, которая работает более плавно и предсказуемо. Фиксированную модель легче оптимизировать и быстрее делать прогнозы.
  • Операторское слияние: PaddlePaddle может объединить несколько шагов в модели в один. Это уменьшает количество памяти, используемой моделью, и помогает ей работать быстрее. Думай об этом как об объединении нескольких задач в одно действие, чтобы сэкономить время.
  • Квантование: Это делает модель меньше за счет использования более простых чисел (например, округления до меньшего количества знаков после запятой). Это помогает модели работать на устройствах с ограниченной мощностью, таких как телефоны или смарт-камеры, без значительной потери точности.
Рис. 2. Преимущества использования PaddlePaddle. Изображение автора.

Обзор развертывания YOLO11 с помощью PaddlePaddle

Интеграция PaddlePaddle , поддерживаемая Ultralytics , упрощает переход от обучения к внедрению. Разработчики, которые уже используют инструменты PaddlePaddle , могут легче внедрить YOLO11 в свои рабочие процессы.

Пакет Ultralytics Python поддерживает прямой экспорт моделей YOLO11 в формат PaddlePaddle , что позволяет разработчикам развернуть обученные модели без дополнительных инструментов и ручных действий по преобразованию. 

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

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

Как экспортировать модели YOLO11 в формат PaddlePaddle

Чтобы экспортировать YOLO11 в формат модели PaddlePaddle , нужно всего несколько шагов.

Первый шаг - установка пакетаUltralytics Python с помощью менеджера пакетов вроде 'pip'. Это можно сделать, выполнив команду "pip install ultralytics" в командной строке или терминале, чтобы начать работу.

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

Когда твоя среда настроена, ты можешь загрузить и экспортировать предварительно обученную модель YOLO11 , например "yolo11n.pt", как показано ниже. Также ты можешь экспортировать свою собственную модель YOLO11 , обученную на заказ.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="paddle")

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

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

paddle_model = YOLO("./yolo11n_paddle_model")

results = paddle_model("https://www.pexels.com/photo/2-vizsla-dogs-standing-on-brown-wood-plank-33287/")

После выполнения кода выходное изображение с предсказаниями модели будет автоматически сохранено в папке "runs/detect/predict".

Рис. 3. Использование экспортированной модели YOLO11 для обнаружения объектов на изображении. Изображение автора.

Развертывание YOLO11 с помощью фреймворка PaddlePaddle

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

  • Paddle Serving: Он помогает разворачивать модели в виде REST API, что делает его хорошим выбором для облачных или серверных сред, которым нужны такие функции, как контроль версий и онлайн-тестирование.
  • Paddle Inference API: Он дает тебе больше контроля над тем, как работают модели, что полезно, когда тебе нужно точно настроить производительность или построить пользовательскую логику приложения.
  • Paddle Lite: она предназначена для легкого развертывания на мобильных устройствах, планшетах и встраиваемых системах. Он оптимизирован для небольших моделей и более быстрого вывода на аппаратном обеспечении с ограниченными ресурсами.
  • Paddle.js: Он позволяет запускать модели ИИ в веб-браузерах с помощью таких технологий, как WebGL и WebAssembly, что полезно для интерактивных демонстраций и браузерных инструментов.
Рис. 4. Варианты развертывания, включенные в PaddlePaddle. Изображение автора.

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

Когда тебе стоит выбрать интеграцию PaddlePaddle ?

Пакет Ultralytics Python также поддерживает различные другие форматы экспорта, поэтому ты можешь задаться вопросом: Когда PaddlePaddle является правильным выбором?

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

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

Ограничения PaddlePaddle , которые нужно учитывать

Хотя PaddlePaddle предлагает интересные возможности развертывания, вот некоторые сдерживающие факторы, о которых следует знать:

  • Маленькое глобальное сообщество: За пределами Китая база пользователей и контрибьюторов относительно невелика. Из-за этого может быть сложнее найти поддержку сообщества, решенные проблемы на GitHub или ответы на Stack Overflow.
    ‍.
  • Более сложная кривая обучения для инструментов, не относящихся к Baidu: PaddlePaddle плавно интегрируется в экосистему Baidu, но использование его вне этого контекста может потребовать дополнительных шагов по настройке и установке.
  • Меньше интеграций с основными инструментами ML: У PaddlePaddle ограниченная совместимость с такими распространенными инструментами, как Hugging Face Transformers, MLflow или Kubernetes-native AI-сервисами.

Основные выводы

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

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

Присоединяйся к нашему растущему сообществу уже сегодня! Погрузись глубже в ИИ, изучив наш репозиторий на GitHub. Хочешь создать свои собственные проекты в области компьютерного зрения? Изучи наши варианты лицензирования. Узнай, как компьютерное зрение в здравоохранении повышает эффективность, и изучи влияние ИИ в розничной торговле, посетив страницы наших решений!

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

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

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

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

OSZAR »