Ultralytics YOLO27:
Get Started

Как экспортировать модели YOLO26 в формат PaddlePaddle#

Упростить переход от разработки к развертыванию моделей компьютерного зрения в реальных условиях, которые могут различаться, бывает непросто. PaddlePaddle облегчает этот процесс благодаря гибкости, высокой производительности и возможности параллельных вычислений в распределенных средах. Это позволяет использовать модели компьютерного зрения YOLO26 на самых разных устройствах и платформах — от смартфонов до облачных серверов.



Смотри: Как экспортировать модели Ultralytics YOLO26 в формат PaddlePaddle | Основные возможности формата PaddlePaddle

Возможность экспорта в формат PaddlePaddle позволяет оптимизировать модели Ultralytics YOLO26 для использования в экосистеме PaddlePaddle. PaddlePaddle известен поддержкой промышленных развертываний и хорошо подходит для развертывания приложений компьютерного зрения в реальных условиях и различных областях.

Зачем экспортировать модель в PaddlePaddle?#

PaddlePaddle deep learning framework logo

Разработанная 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 — единственном семействе, в котором есть соответствующие выходные слои.

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

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

АргументТипПо умолчаниюОписание
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 в веб-браузерах для выполнения ИИ на стороне клиента с помощью 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.

Комментарии