Как экспортировать модели YOLO26 в формат PaddlePaddle#
Преодолеть разрыв между разработкой и развертыванием моделей computer vision в реальных сценариях с различными условиями может быть сложно. PaddlePaddle упрощает этот процесс благодаря акценту на гибкость, производительность и возможности параллельной обработки в распределенных средах. Это значит, что ты можешь использовать свои модели компьютерного зрения YOLO26 на самых разных устройствах и платформах, от смартфонов до облачных серверов.
Watch: How to Export Ultralytics YOLO26 Models to PaddlePaddle Format | Key Features of PaddlePaddle Format
Возможность экспорта в формат модели PaddlePaddle позволяет оптимизировать модели Ultralytics YOLO26 для использования в экосистеме PaddlePaddle. PaddlePaddle известна тем, что упрощает промышленное развертывание, и является отличным выбором для внедрения приложений компьютерного зрения в реальных условиях в различных сферах.
Почему тебе стоит выполнить экспорт в PaddlePaddle?#
Созданная компанией Baidu, платформа PaddlePaddle (PArallel Distributed Deep LEarning) является первой в Китае открытой платформой deep learning. В отличие от некоторых фреймворков, созданных преимущественно для исследований, PaddlePaddle ставит во главу угла простоту использования и бесшовную интеграцию в различных отраслях.
Она предлагает инструменты и ресурсы, аналогичные популярным фреймворкам, таким как TensorFlow and PyTorch, что делает ее доступной для разработчиков с любым уровнем опыта. От сельского хозяйства и заводов до сферы услуг — большое сообщество разработчиков PaddlePaddle, насчитывающее более 4,77 миллиона человек, помогает создавать и развертывать AI-приложения.
Экспортируя свои модели Ultralytics YOLO26 в формат PaddlePaddle, ты можешь воспользоваться преимуществами PaddlePaddle в плане оптимизации производительности. PaddlePaddle отдает приоритет эффективному выполнению моделей и снижению использования памяти. В результате твои модели YOLO26 могут потенциально достичь еще более высокой производительности, обеспечивая первоклассные результаты в практических сценариях.
Ключевые особенности моделей PaddlePaddle#
Модели PaddlePaddle обладают рядом ключевых функций, которые способствуют их гибкости, производительности и масштабируемости в различных сценариях развертывания:
-
Динамический и статический графы: PaddlePaddle поддерживает компиляцию из динамического графа в статический, при которой модели могут быть преобразованы в статический вычислительный граф. Это позволяет применять оптимизации, снижающие накладные расходы во время выполнения и повышающие производительность инференса.
-
Слияние операторов: PaddlePaddle, как и TensorRT, использует слияние операторов для оптимизации вычислений и уменьшения накладных расходов. Фреймворк минимизирует передачу данных в памяти и количество вычислительных шагов путем объединения совместимых операций, что приводит к более быстрому инференсу.
-
Квантование: PaddlePaddle поддерживает методы квантования, включая квантование после обучения и обучение с учетом квантования. Эти методы позволяют использовать представления данных с более низкой точностью, что эффективно повышает производительность и уменьшает размер модели.
Варианты развертывания в PaddlePaddle#
Прежде чем погружаться в код для экспорта моделей YOLO26 в PaddlePaddle, давай рассмотрим различные сценарии развертывания, в которых модели PaddlePaddle показывают наилучшие результаты.
PaddlePaddle предоставляет ряд опций, каждая из которых предлагает особый баланс между простотой использования, гибкостью и производительностью:
-
Paddle Serving: Этот фреймворк упрощает развертывание моделей PaddlePaddle в качестве высокопроизводительных RESTful API. Paddle Serving идеально подходит для производственных сред, предоставляя такие функции, как версионирование моделей, онлайн A/B-тестирование и масштабируемость для обработки больших объемов запросов.
-
Paddle Inference API: Paddle Inference API дает тебе низкоуровневый контроль над выполнением модели. Этот вариант хорошо подходит для сценариев, где тебе нужно плотно интегрировать модель в кастомное приложение или оптимизировать производительность для конкретного оборудования.
-
Paddle Lite: Paddle Lite предназначен для развертывания на мобильных и встраиваемых устройствах, где ресурсы ограничены. Он оптимизирует модели для уменьшения размера и ускорения вывода на ARM-процессорах, GPU и другом специализированном оборудовании.
-
Paddle.js: Paddle.js позволяет развертывать модели PaddlePaddle непосредственно в веб-браузерах. Paddle.js может загружать предобученную модель или преобразовывать модель из paddle-hub с помощью инструментов трансформации моделей, предоставляемых Paddle.js. Она может работать в браузерах, поддерживающих WebGL/WebGPU/WebAssembly.
Поддерживаемые задачи#
Экспорт в PaddlePaddle поддерживает все семь задач Ultralytics. Семантическая сегментация и оценка глубины доступны только в YOLO26 — единственном семействе, в котором есть такие «головы».
Экспорт в PaddlePaddle: конвертация твоей модели YOLO26#
Конвертация моделей YOLO26 в формат PaddlePaddle может повысить гибкость выполнения и оптимизировать производительность для различных сценариев развертывания.
Установка#
Чтобы установить необходимый пакет, выполни:
# Install the required package for YOLO26
pip install ultralyticsПодробные инструкции и лучшие практики, связанные с процессом установки, можно найти в нашем руководстве по установке Ultralytics. Если в процессе установки необходимых пакетов для YOLO26 у тебя возникнут какие-либо трудности, обратись к нашему руководству по частым проблемам за решениями и советами.
Использование#
Все модели Ultralytics YOLO26 поддерживают экспорт, и ты можешь ознакомиться с полным списком форматов экспорта и опций, чтобы подобрать оптимальный вариант для своих задач развертывания.
Формат PaddlePaddle поддерживает режимы Export, Predict and Validate. Экспортируй свою модель, а затем загрузи ее для запуска инференса или проверки точности.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to PaddlePaddle format
model.export(format="paddle") # creates '/yolo26n_paddle_model'from ultralytics import YOLO
# Load the exported PaddlePaddle model
model = YOLO("./yolo26n_paddle_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported PaddlePaddle model
model = YOLO("./yolo26n_paddle_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'paddle' | Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для входа модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров. |
quantize | int или str | None | Исправлен экспорт в FP32. Экспорт в PaddlePaddle не поддерживает преобразование точности FP16, INT8 или W8A16 во время экспорта. |
batch | int | 1 | Указывает размер пакета для пакетного инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict. |
device | str | None | Указывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps). |
Дополнительную информацию о процессе экспорта см. на странице документации Ultralytics по экспорту.
Развертывание экспортированных моделей YOLO26 PaddlePaddle#
После успешного экспорта моделей Ultralytics YOLO26 в формат PaddlePaddle ты можешь развернуть их. Основным и рекомендуемым первым шагом для запуска модели PaddlePaddle является использование метода YOLO("yolo26n_paddle_model/"), как описано в предыдущем фрагменте кода.
Однако для получения подробных инструкций по развертыванию твоих моделей PaddlePaddle в других средах ознакомься со следующими ресурсами:
-
Paddle Serving: Узнай, как развернуть модели PaddlePaddle в виде производительных сервисов с помощью Paddle Serving.
-
Paddle Lite: Изучи возможности оптимизации и развертывания моделей на мобильных и встраиваемых устройствах с помощью Paddle Lite.
-
Paddle.js: Узнай, как запускать модели PaddlePaddle в веб-браузерах для клиентского AI с помощью Paddle.js.
Резюме#
В этом руководстве мы рассмотрели процесс экспорта моделей Ultralytics YOLO26 в формат PaddlePaddle. Следуя этим шагам, ты сможешь использовать преимущества PaddlePaddle в различных сценариях развертывания, оптимизируя свои модели для разных аппаратных и программных сред.
Для получения дополнительной информации об использовании посети официальную документацию PaddlePaddle.
Хочешь узнать о других способах интеграции моделей Ultralytics YOLO26? Наша страница руководств по интеграции описывает различные варианты и предоставляет полезные ресурсы и рекомендации.
FAQ#
Экспорт моделей Ultralytics YOLO26 в формат PaddlePaddle выполняется очень просто. Для конвертации можно использовать метод
exportкласса YOLO. Вот пример на Python:Использованиеfrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to PaddlePaddle format model.export(format="paddle") # creates '/yolo26n_paddle_model' # Load the exported PaddlePaddle model paddle_model = YOLO("./yolo26n_paddle_model") # Run inference results = paddle_model("https://ultralytics.com/images/bus.jpg")Для получения более подробных инструкций по настройке и устранению неполадок обратись к руководству по установке Ultralytics Installation Guide и руководству по общим проблемам Common Issues Guide.
PaddlePaddle предлагает несколько ключевых преимуществ для развертывания моделей:
- Оптимизация производительности: PaddlePaddle превосходно справляется с эффективным выполнением моделей и снижением использования памяти.
- Компиляция из динамического в статический граф: Поддерживает компиляцию из динамического в статический граф, что позволяет проводить оптимизации во время выполнения.
- Слияние операторов: За счет объединения совместимых операций снижает вычислительные накладные расходы.
- Методы квантования: Поддерживает как квантование после обучения, так и обучение с учетом квантования, обеспечивая использование представлений данных с более низкой точностью для повышения производительности.
Ты можешь добиться лучших результатов, экспортировав модели Ultralytics YOLO26 в PaddlePaddle, что обеспечит гибкость и высокую производительность на различных приложениях и аппаратных платформах. Изучи ключевые особенности и возможности PaddlePaddle в официальной документации PaddlePaddle.
PaddlePaddle, разработанный Baidu, оптимизирован для промышленного и коммерческого развертывания ИИ. Большое сообщество разработчиков и надежный фреймворк предоставляют обширные инструменты, аналогичные TensorFlow и PyTorch. Экспортируя модели YOLO26 в PaddlePaddle, ты получаешь следующие преимущества:
- Улучшенная производительность: Оптимальная скорость выполнения и уменьшенный объем памяти.
- Гибкость: Широкая совместимость с различными устройствами, от смартфонов до облачных серверов.
- Масштабируемость: Эффективные возможности параллельной обработки для распределенных сред.
Эти особенности делают PaddlePaddle привлекательным выбором для развертывания моделей YOLO26 в производственных условиях.
PaddlePaddle использует несколько передовых методов для оптимизации производительности моделей:
- Динамический-в-статический граф: Преобразует модели в статический вычислительный граф для оптимизации во время выполнения.
- Слияние операторов: Объединяет совместимые операции для минимизации передачи данных в памяти и увеличения скорости вывода.
- Квантование: Уменьшает размер модели и повышает эффективность за счет использования данных с более низкой точностью при сохранении точности распознавания.
Эти методы ориентированы на эффективное выполнение моделей, что делает PaddlePaddle отличным выбором для развертывания высокопроизводительных моделей YOLO26. Подробнее об оптимизации см. в официальной документации PaddlePaddle.
PaddlePaddle предоставляет гибкие варианты развертывания:
- Paddle Serving: Развертывает модели как RESTful API, что идеально подходит для производства с такими функциями, как версионирование моделей и онлайн A/B-тестирование.
- Paddle Inference API: Дает низкоуровневый контроль над выполнением модели для специализированных приложений.
- Paddle Lite: Оптимизирует модели для ограниченных ресурсов мобильных и встраиваемых устройств.
- Paddle.js: Позволяет развертывать модели непосредственно в веб-браузерах.
Эти варианты охватывают широкий спектр сценариев развертывания: от локального инференса на устройстве до масштабируемых облачных сервисов. Изучи другие стратегии развертывания на странице вариантов развертывания моделей Ultralytics.