Перейти к содержанию

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

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



Смотреть: Как экспортировать модели Ultralytics YOLO11 в формат PaddlePaddle | Ключевые особенности формата PaddlePaddle

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

Почему вы должны экспортировать на PaddlePaddle?

PaddlePaddle Логотип

Разработана компанией Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) - это первая китайская платформа глубокого обучения с открытым исходным кодом. В отличие от некоторых фреймворков, созданных в основном для исследований, PaddlePaddle ставит во главу угла простоту использования и легкую интеграцию в различные отрасли.

Он предлагает инструменты и ресурсы, аналогичные таким популярным фреймворкам, как TensorFlow и PyTorch, что делает его доступным для разработчиков любого уровня. Большое сообщество разработчиков PaddlePaddle, насчитывающее более 4,77 миллиона человек, помогает создавать и внедрять приложения для искусственного интеллекта в самых разных областях - от сельского хозяйства и фабрик до сферы услуг.

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

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

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

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

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

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

Варианты развертывания в PaddlePaddle

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

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

  • Paddle Serving: Этот фреймворк упрощает развертывание моделей PaddlePaddle в виде высокопроизводительных RESTful API. Paddle Serving идеально подходит для производственных сред, предоставляя такие возможности, как версионирование моделей, онлайн-тестирование A/B и масштабируемость для обработки больших объемов запросов.

  • Paddle Inference API: Paddle Inference API предоставляет вам низкоуровневый контроль над выполнением модели. Этот вариант хорошо подходит для сценариев, в которых вам нужно плотно интегрировать модель в пользовательское приложение или оптимизировать производительность для конкретного оборудования.

  • Paddle Lite: Paddle Lite предназначен для развертывания на мобильных и встраиваемых устройствах, где ресурсы ограничены. Он оптимизирует модели для уменьшения размера и ускорения вывода на ARM CPU, GPU и другом специализированном оборудовании.

  • Paddle.js: Paddle.js позволяет развертывать модели PaddlePaddle непосредственно в веб-браузерах. Paddle.js может либо загружать предварительно обученную модель, либо преобразовывать модель из paddle-hub с помощью инструментов преобразования моделей, предоставляемых Paddle.js. Он может работать в браузерах, поддерживающих WebGL/WebGPU/WebAssembly.

Экспорт в PaddlePaddle: Преобразование модели YOLO11

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

Установка

Чтобы установить необходимый пакет, выполните команду:

Установка

# Install the required package for YOLO11
pip install ultralytics

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

Использование

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

Использование

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolo11n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolo11n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to PaddlePaddle format
yolo export model=yolo11n.pt format=paddle  # creates '/yolo11n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolo11n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

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

Развертывание экспортированных моделей YOLO11 PaddlePaddle

После успешного экспорта моделей Ultralytics YOLO11 в формат PaddlePaddle вы можете приступить к их развертыванию. Основным и рекомендуемым первым шагом для запуска модели PaddlePaddle является использование метода YOLO("./model_paddle_model"), как описано в предыдущем фрагменте кода использования.

Однако для получения подробных инструкций по развертыванию моделей PaddlePaddle в различных других условиях ознакомьтесь со следующими ресурсами:

  • Сервировка весла: Узнайте, как развернуть модели PaddlePaddle в качестве перфоманс-сервисов с помощью Paddle Serving.

  • Paddle Lite: Узнайте, как оптимизировать и развертывать модели на мобильных и встраиваемых устройствах с помощью Paddle Lite.

  • Paddle.js: Узнайте, как запускать модели PaddlePaddle в веб-браузерах для создания искусственного интеллекта на стороне клиента с помощью Paddle.js.

Резюме

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

Более подробную информацию об использовании можно найти в официальной документацииPaddlePaddle .

Хотите узнать больше о способах интеграции моделей Ultralytics YOLO11 ? На нашей странице руководства по интеграции рассматриваются различные варианты, и вы получите ценные ресурсы и знания.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

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

Экспорт моделей Ultralytics YOLO11 в формат PaddlePaddle очень прост. Вы можете использовать export метод класса YOLO для выполнения этого экспорта. Приведем пример с использованием Python:

Использование

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolo11n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolo11n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to PaddlePaddle format
yolo export model=yolo11n.pt format=paddle  # creates '/yolo11n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolo11n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

Более подробную информацию о настройке и устранении неполадок можно найти в руководстве по установкеUltralytics и руководстве по общим проблемам.

В чем преимущества использования PaddlePaddle для развертывания моделей?

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

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

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

Почему стоит выбрать PaddlePaddle для развертывания моделей YOLO11 ?

PaddlePaddleразработанный компанией Baidu, оптимизирован для промышленного и коммерческого внедрения ИИ. Его большое сообщество разработчиков и надежный фреймворк предоставляют обширные инструменты, аналогичные TensorFlow и PyTorch. Экспортируя свои модели YOLO11 в PaddlePaddle, вы получаете возможность использовать:

  • Повышенная производительность: Оптимальная скорость выполнения и уменьшение занимаемой памяти.
  • Гибкость: Широкая совместимость с различными устройствами - от смартфонов до облачных серверов.
  • Масштабируемость: Эффективные возможности параллельной обработки для распределенных сред.

Эти возможности делают PaddlePaddle привлекательным выбором для развертывания моделей YOLO11 в производственных условиях.

Как PaddlePaddle улучшает производительность модели по сравнению с другими фреймворками?

PaddlePaddle Используется несколько передовых методов для оптимизации работы модели:

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

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

Какие варианты развертывания предлагает PaddlePaddle для моделей YOLO11 ?

PaddlePaddle обеспечивает гибкие возможности развертывания:

  • Paddle Serving: Размещает модели в виде RESTful API, идеально подходит для производства с такими функциями, как версионирование моделей и онлайн-тестирование A/B.
  • Paddle Inference API: Предоставляет низкоуровневый контроль над выполнением модели для пользовательских приложений.
  • Paddle Lite: Оптимизирует модели для ограниченных ресурсов мобильных и встроенных устройств.
  • Paddle.js: позволяет разворачивать модели непосредственно в веб-браузерах.

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

📅 Создано 8 месяцев назад ✏️ Обновлено 2 месяца назад

Комментарии