Как экспортировать в формат PaddlePaddle из моделей YOLO11
Преодоление разрыва между разработкой и развертыванием моделей компьютерного зрения в реальных сценариях с различными условиями может быть затруднено. PaddlePaddle упрощает этот процесс, уделяя особое внимание гибкости, производительности и возможности параллельной обработки в распределенных средах. Это означает, что вы можете использовать свои модели компьютерного зрения YOLO11 на самых разных устройствах и платформах, от смартфонов до облачных серверов.
Смотреть: Как экспортировать модели Ultralytics YOLO11 в формат PaddlePaddle | Ключевые особенности формата PaddlePaddle
Возможность экспорта в формат модели PaddlePaddle позволяет оптимизировать ваши модели Ultralytics YOLO11 для использования в рамках фреймворка 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.