Как экспортировать модели YOLO26 в формат PaddlePaddle#
Упростить переход от разработки к развертыванию моделей компьютерного зрения в реальных условиях, которые могут различаться, бывает непросто. PaddlePaddle облегчает этот процесс благодаря гибкости, высокой производительности и возможности параллельных вычислений в распределенных средах. Это позволяет использовать модели компьютерного зрения YOLO26 на самых разных устройствах и платформах — от смартфонов до облачных серверов.
Смотри: Как экспортировать модели Ultralytics YOLO26 в формат PaddlePaddle | Основные возможности формата PaddlePaddle
Возможность экспорта в формат PaddlePaddle позволяет оптимизировать модели Ultralytics YOLO26 для использования в экосистеме PaddlePaddle. PaddlePaddle известен поддержкой промышленных развертываний и хорошо подходит для развертывания приложений компьютерного зрения в реальных условиях и различных областях.
Зачем экспортировать модель в PaddlePaddle?#
Разработанная Baidu, PaddlePaddle (ПАраллельное Распределённое Глубокое Обучение) — первая в Китае платформа с открытым исходным кодом для глубокого обучения. В отличие от некоторых платформ, созданных в основном для исследований, PaddlePaddle делает упор на простоту использования и удобную интеграцию в разных отраслях.
PaddlePaddle предлагает инструменты и ресурсы, похожие на инструменты популярных фреймворков, таких как TensorFlow и PyTorch, поэтому он доступен разработчикам с любым уровнем опыта. Сообщество PaddlePaddle, насчитывающее более 4,77 миллиона разработчиков, помогает создавать и развертывать приложения ИИ в самых разных сферах — от сельского хозяйства и заводов до сферы услуг.
Экспортируя модели 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 предназначен для развертывания на мобильных и встраиваемых устройствах с ограниченными ресурсами. Он оптимизирует модели, уменьшая их размер и ускоряя инференс на CPU ARM, GPU и другом специализированном оборудовании.
-
Paddle.js: Paddle.js позволяет развертывать модели PaddlePaddle непосредственно в веб-браузерах. Paddle.js может загрузить предварительно обученную модель или преобразовать модель из paddle-hub с помощью инструментов преобразования моделей, предоставляемых Paddle.js. Он работает в браузерах с поддержкой WebGL/WebGPU/WebAssembly.
Поддерживаемые задачи#
Экспорт в PaddlePaddle поддерживает все семь задач Ultralytics. Семантическая сегментация и оценка глубины доступны только в YOLO26 — единственном семействе, в котором есть соответствующие выходные слои.
| Задача | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Обнаружение | ✅ | ✅ | ✅ |
| Сегментация | ✅ | ✅ | ✅ |
| Семантическая сегментация | ❌ | ❌ | ✅ |
| Глубина | ❌ | ❌ | ✅ |
| Классификация | ✅ | ✅ | ✅ |
| Оценка позы | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Экспорт в PaddlePaddle: преобразование модели YOLO26#
Преобразование моделей YOLO26 в формат PaddlePaddle может повысить гибкость их выполнения и оптимизировать производительность для различных сценариев развертывания.
Установка#
Чтобы установить необходимый пакет, выполни команду:
# Install the required package for YOLO26
pip install ultralyticsПодробные инструкции и рекомендации по установке смотри в руководстве по установке Ultralytics. Если при установке пакетов, необходимых для YOLO26, возникнут сложности, решения и советы найдешь в руководстве по распространенным проблемам.
Использование#
Экспорт поддерживают все модели Ultralytics YOLO26. Чтобы выбрать подходящий вариант для развертывания, ознакомься с полным списком форматов и параметров экспорта.
Формат PaddlePaddle поддерживает режимы Export, Predict и Validate. Экспортируй модель, а затем загрузи ее для запуска инференса или проверки точности.
from ultralytics import YOLO
# Загрузи модель YOLO26
model = YOLO("yolo26n.pt")
# Экспорт модели в формат PaddlePaddle
model.export(format="paddle") # creates 'yolo26n_paddle_model'from ultralytics import YOLO
# Загрузка экспортированной модели PaddlePaddle
model = YOLO("./yolo26n_paddle_model")
# Выполнить инференс
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Загрузка экспортированной модели PaddlePaddle
model = YOLO("./yolo26n_paddle_model")
# Проверить точность на наборе данных COCO8
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 в веб-браузерах для выполнения ИИ на стороне клиента с помощью Paddle.js.
Итоги#
В этом руководстве мы рассмотрели экспорт моделей Ultralytics YOLO26 в формат PaddlePaddle. Выполнив эти шаги, ты сможешь использовать преимущества PaddlePaddle в различных сценариях развертывания и оптимизировать модели для разного оборудования и программных сред.
Дополнительные сведения об использовании см. в официальной документации PaddlePaddle.
Хочешь узнать больше о способах интеграции моделей Ultralytics YOLO26? На нашей странице с руководством по интеграции описаны различные варианты и собраны полезные ресурсы и рекомендации.
Часто задаваемые вопросы#
Экспортировать модели Ultralytics YOLO26 в формат PaddlePaddle просто. Для преобразования можно использовать метод
exportкласса YOLO. Вот пример на Python:Использованиеfrom ultralytics import YOLO # Загрузи модель YOLO26 model = YOLO("yolo26n.pt") # Экспорт модели в формат PaddlePaddle model.export(format="paddle") # creates 'yolo26n_paddle_model' # Загрузка экспортированной модели PaddlePaddle paddle_model = YOLO("./yolo26n_paddle_model") # Выполнить инференс results = paddle_model("https://ultralytics.com/images/bus.jpg")Подробные инструкции по настройке и устранению неполадок см. в руководстве по установке Ultralytics и руководстве по распространенным проблемам.
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.