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

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

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



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

Возможность экспорта в формат модели PaddlePaddle позволяет оптимизировать ваши модели Ultralytics YOLO11 для использования в рамках фреймворка PaddlePaddle. 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'

Аргументы экспорта

АргументТипПо умолчаниюОписание
formatstr'paddle'Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
batchint1Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps).

Для получения более подробной информации о процессе экспорта посетите страницу документации Ultralytics по экспорту.

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

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

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

  • Paddle Serving: Узнайте, как развертывать модели 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.

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

PaddlePaddle, разработанный Baidu, оптимизирован для промышленного и коммерческого развертывания AI. Его большое сообщество разработчиков и надежная платформа предоставляют обширные инструменты, аналогичные 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.



📅 Создано 1 год назад ✏️ Обновлено 5 дней назад
glenn-jocherlakshanthadRizwanMunawarabirami-vinaUltralyticsAssistantMatthewNoyceBurhan-Q

Комментарии