YOLO Vision 2026:

Как экспортировать модели 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?#

PaddlePaddle deep learning framework logo

Созданная компанией 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 — единственном семействе, в котором есть такие «головы».

ЗадачаYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Экспорт в 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")

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

АргументТипПо умолчаниюОписание
formatstr'paddle'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входа модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
quantizeint или strNoneИсправлен экспорт в FP32. Экспорт в PaddlePaddle не поддерживает преобразование точности FP16, INT8 или W8A16 во время экспорта.
batchint1Указывает размер пакета для пакетного инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
devicestrNoneУказывает устройство для экспорта: 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.

Комментарии