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

Как экспортировать в формат 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'

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

Аргумент Тип По умолчанию Описание
format str 'paddle' Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
batch int 1 Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме.
device str None Указывает устройство для экспорта: 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 год назад ✏️ Обновлено 4 месяца назад

Комментарии