Ultralytics YOLO27:

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

Устранить разрыв между разработкой и развёртыванием моделей компьютерного зрения в реальных сценариях с различными условиями может быть непросто. 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 (PAраллельное Dраспределённое Dглубокое LEобучение) — первая китайская платформа глубокого обучения с открытым исходным кодом. В отличие от некоторых платформ, созданных преимущественно для исследований, 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 предназначен для развёртывания на мобильных и встраиваемых устройствах с ограниченными ресурсами. Он оптимизирует модели для уменьшения размера и ускорения инференса на ARM CPU, 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 пакетов возникнут трудности, обратись к руководству по распространенным проблемам, где encontrarás решения и советы.

Использование#

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

Формат PaddlePaddle поддерживает режимы Export, Predict и 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'
Predict
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 в веб-браузерах для клиентского ИИ с помощью Paddle.js.

Итоги#

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

Подробнее об использовании смотри в официальной документации PaddlePaddle.

Хочешь узнать о других способах интеграции своих моделей Ultralytics YOLO26? На нашей странице руководства по интеграции рассматриваются различные варианты и представлены полезные ресурсы и сведения.

Часто задаваемые вопросы#

  • Экспортировать модели 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 и руководстве по распространённым проблемам.

  • PaddlePaddle предлагает несколько ключевых преимуществ для развёртывания моделей:

    • Оптимизация производительности: 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.

Комментарии