Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Развертывание моделей Ultralytics YOLO с помощью интеграции ExecuTorch

Абирами Вина

5 мин чтения

4 ноября 2025 г.

Узнайте, как экспортировать модели Ultralytics YOLO, такие как Ultralytics YOLO11, в формат ExecuTorch для эффективного, PyTorch-нативного развертывания на пограничных и мобильных устройствах.

Некоторые приложения компьютерного зрения, такие как автоматизированная проверка качества, автономные беспилотники или интеллектуальные системы безопасности, работают лучше всего, когда модели Ultralytics YOLO, например Ultralytics YOLO11, работают рядом с датчиком, получающим изображение. Другими словами, эти модели должны обрабатывать данные непосредственно там, где они генерируются, на камерах, дронах или встроенных системах, а не отправлять их в облако. 

Этот подход, известный как краевой ИИ, позволяет моделям делать выводы непосредственно на устройстве, с которого снимаются данные. Обрабатывая информацию локально, а не на удаленных серверах, системы могут добиться меньшей задержки, повышенной конфиденциальности данных и надежности даже в условиях ограниченного или отсутствующего интернет-соединения.

Например, производственная камера, ежеминутно проверяющая тысячи изделий, или беспилотник, ориентирующийся в сложных условиях, не могут позволить себе задержки, связанные с облачной обработкой. Запуск YOLO11 непосредственно на устройстве обеспечивает мгновенный вывод информации на устройстве.

Чтобы сделать запуск моделей Ultralytics YOLO на границе проще и эффективнее, новая интеграция ExecuTorch, поддерживаемая Ultralytics, обеспечивает упрощенный способ экспорта и развертывания моделей непосредственно на мобильных и встраиваемых устройствах. ExecuTorch является частью экосистемы PyTorch Edge и представляет собой комплексное решение для запуска моделей ИИ непосредственно на мобильном и пограничном оборудовании, включая телефоны, носимые устройства, встраиваемые платы и микроконтроллеры.

Эта интеграция позволяет легко перевести модель Ultralytics YOLO, такую как YOLO11, из состояния обучения в состояние развертывания на пограничных устройствах. Объединив возможности видения YOLO11 с легкой средой выполнения ExecuTorch и конвейером экспорта PyTorch, пользователи могут развернуть модели, которые будут эффективно работать на аппаратном обеспечении, сохраняя при этом точность и производительность выводов на основе PyTorch.

В этой статье мы подробно рассмотрим, как работает интеграция с ExecuTorch, почему она отлично подходит для приложений краевого ИИ и как вы можете начать развертывать модели Ultralytics YOLO с помощью ExecuTorch. Давайте начнем!

Что такое ExecuTorch?

Обычно при обучении модели в PyTorch она запускается на мощных серверах или графических процессорах (GPU) в облаке. Однако для развертывания той же модели на мобильном или встроенном устройстве, таком как смартфон, дрон или микроконтроллер, требуется специализированное решение, способное работать с ограниченной вычислительной мощностью, памятью и возможностями подключения.

Именно это и предлагает ExecuTorch. ExecuTorch - это комплексное решение, разработанное в рамках экосистемы PyTorch Edge, которое обеспечивает эффективный вывод данных на мобильных, встраиваемых и граничных платформах. Оно расширяет возможности PyTorch за пределы облака, позволяя запускать модели ИИ непосредственно на локальных устройствах.

Приведение выводов PyTorch к краю

В основе ExecuTorch лежит легкая среда выполнения на C++, которая позволяет выполнять модели PyTorch непосредственно на устройстве. ExecuTorch использует формат моделей PyTorch ExecuTorch (.pte) - оптимизированный экспорт, предназначенный для ускорения загрузки, уменьшения занимаемой памяти и улучшения переносимости. 

Он поддерживает XNNPACK в качестве бэкенда по умолчанию для эффективного вывода данных на центральном процессоре (CPU) и расширяет совместимость с широким спектром аппаратных бэкендов, включая Core ML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO и другие. 

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

Квантование уменьшает размер модели и повышает скорость вывода за счет преобразования высокоточных значений (например, 32-битных плавающих чисел) в низкоточные, а динамическая обработка формы позволяет моделям эффективно обрабатывать входные данные разного размера. Обе эти функции крайне важны для работы моделей ИИ на граничных устройствах с ограниченными ресурсами.

Рис. 1. Как работает ExecuTorch(Источник)

Единый уровень для пограничного оборудования

Помимо среды выполнения, ExecuTorch также выступает в качестве единого уровня абстракции для различных аппаратных бэкендов. Проще говоря, он абстрагируется от специфических для оборудования деталей и управляет взаимодействием моделей с различными вычислительными устройствами, включая CPU, GPU и блоки нейронной обработки (NPU).

После экспорта модели ExecuTorch можно настроить на наиболее подходящий для конкретного устройства бэкэнд. Разработчики могут эффективно развертывать модели на различных аппаратных средствах без написания специального кода для конкретного устройства или поддержки отдельных рабочих процессов преобразования.

Благодаря модульной, портативной конструкции и бесшовной интеграции с PyTorch, ExecuTorch является отличным вариантом для развертывания моделей компьютерного зрения, таких как Ultralytics YOLO11, в мобильных и встраиваемых системах. Он устраняет разрыв между обучением модели и ее внедрением в реальный мир, делая краевой ИИ быстрее, эффективнее и проще в реализации.

Ключевые особенности ExecuTorch

Прежде чем мы рассмотрим, как экспортировать модели Ultralytics YOLO в формат ExecuTorch, давайте узнаем, что делает ExecuTorch надежным вариантом для развертывания ИИ на границе.

Вот краткое описание некоторых из его ключевых особенностей:

  • Поддержка квантования: ExecuTorch поддерживает квантование модели - технику, которая преобразует значения высокой точности в значения более низкой точности для уменьшения размера модели и ускорения вычислений. Это помогает моделям работать быстрее и использовать меньше памяти на граничных устройствах, сохраняя при этом практически тот же уровень точности.
  • Эффективное использование памяти: Одним из главных преимуществ ExecuTorch является работа с памятью. Вместо того чтобы полагаться на динамическое выделение памяти, которое может привести к задержкам и перерасходу энергии, ExecuTorch использует планирование памяти с опережением по времени (AOT). Во время экспорта он анализирует граф модели и заранее рассчитывает, какой объем памяти необходим для каждой операции. Это позволяет среде выполнения выполнять модели, используя статический план памяти, обеспечивая предсказуемую производительность и предотвращая замедления или сбои на устройствах с ограниченной оперативной памятью или вычислительной мощностью.
  • Встроенные метаданные модели: При экспорте с помощью интеграции, поддерживаемой Ultralytics, каждая модель включает YAML-файл, содержащий важные метаданные, такие как размер входного изображения, имена классов и параметры конфигурации. Этот дополнительный файл упрощает интеграцию модели в различные приложения и обеспечивает согласованное поведение на разных платформах edge.

Как экспортировать модели Ultralytics YOLO в формат ExecuTorch

Теперь, когда мы лучше понимаем, что предлагает ExecuTorch, давайте рассмотрим, как экспортировать модели Ultralytics YOLO в формат ExecuTorch.

Шаг 1. Установите Python-пакет Ultralytics

Чтобы начать работу, вам нужно установить пакет Ultralytics Python с помощью pip, который представляет собой программу установки пакетов. Вы можете сделать это, выполнив команду "pip install ultralytics" в терминале или командной строке. 

Если вы работаете в среде Jupyter Notebook или Google Colab, просто добавьте восклицательный знак перед командой, например "!pip install ultralytics". После установки пакет Ultralytics предоставляет все необходимые инструменты для обучения, тестирования и экспорта моделей компьютерного зрения, включая Ultralytics YOLO11.

Если у вас возникнут какие-либо проблемы во время установки или экспорта модели, в официальной документации Ultralytics и руководстве по общим проблемам подробно описаны шаги по устранению неполадок и лучшие практики, которые помогут вам начать работу без сбоев.

Шаг 2: Экспорт Ultralytics YOLO11

После установки пакета Ultralytics вы можете загрузить вариант модели YOLO11 и экспортировать ее в формат ExecuTorch. Например, вы можете использовать предварительно обученную модель, такую как "yolo11n.pt", и экспортировать ее, вызвав функцию export с форматом "executorch". 

В результате создается каталог с именем "yolo11n_executorch_model", который содержит оптимизированный файл модели (.pte) и отдельный YAML-файл метаданных, содержащий такие важные сведения, как размер изображения и имена классов.

Вот код для экспорта вашей модели:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="executorch")

Шаг 3: Выполнение выводов после экспорта модели

После экспорта модель готова к развертыванию на пограничных и мобильных устройствах с помощью среды выполнения ExecuTorch. Экспортированный файл модели в формате .pte можно загрузить в приложение для выполнения выводов в режиме реального времени на устройстве без необходимости подключения к облаку.

Например, в приведенном ниже фрагменте кода показано, как загрузить экспортированную модель и запустить вывод. Вывод означает использование обученной модели для прогнозирования на новых данных. Здесь модель тестируется на изображении автобуса, взятом из публичного URL.

executorch_model = YOLO("yolo11n_executorch_model")

results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)

После выполнения кода вы найдете выходное изображение с обнаруженными объектами, сохраненное в папке "runs/detect/predict". 

Рис. 2. Обнаружение объектов по экспортированной модели YOLO11 в формате ExecuTorch.

Преимущества использования интеграции с ExecuTorch

Изучая различные варианты экспорта, поддерживаемые Ultralytics, вы можете задаться вопросом, что делает интеграцию с ExecuTorch уникальной. Ключевое отличие заключается в том, насколько хорошо она сочетает в себе производительность, простоту и гибкость, позволяя легко развертывать мощные модели искусственного интеллекта непосредственно на мобильных и периферийных устройствах.

Вот некоторые из ключевых преимуществ использования интеграции с ExecuTorch:

  • Гибкие возможности развертывания: Модели ExecuTorch могут быть развернуты в мобильных приложениях, встраиваемых системах, устройствах IoT (Интернета вещей) и специализированном аппаратном обеспечении для граничного ИИ. Такая гибкость позволяет разработчикам создавать масштабируемые решения ИИ, которые стабильно работают на разных платформах и в разных средах.
  • Производительность, подтвержденная бенчмарками: Тесты на таких устройствах, как Raspberry Pi 5, показывают, что модели YOLO11, экспортированные в формат ExecuTorch, работают примерно в 2 раза быстрее, чем их аналоги в PyTorch, при практически одинаковой точности.
  • Гибкие интеграционные API: ExecuTorch предоставляет API на C++, Kotlin и Objective-C для iOS, Android и встроенного Linux, что позволяет разработчикам интегрировать модели YOLO непосредственно в нативные приложения.
  • Поддержка аппаратного ускорения: ExecuTorch поддерживает различные аппаратные ускорители, включая Vulkan и Metal для мобильных GPU, с дополнительной интеграцией OpenCL и других API, специфичных для конкретного производителя. Он также может использовать специализированные ускорители, такие как NPU и DSP, для достижения значительного ускорения по сравнению с выводами, выполняемыми только на CPU.

Применение YOLO11 и экспорта ExecuTorch в реальных условиях

Недавно компания Ultralytics была признана успешным проектом PyTorch ExecuTorch, что подчеркивает нашу раннюю поддержку выводов на устройствах и постоянный вклад в экосистему PyTorch. Это признание отражает нашу общую цель - сделать высокопроизводительный ИИ более доступным для мобильных и пограничных платформ.

От облака к границе: Как ExecuTorch и YOLO11 воплощают Vision AI в жизнь

На деле это выглядит как реальные решения Vision AI, эффективно работающие на всех устройствах - от смартфонов до встраиваемых систем. Например, в производстве пограничные устройства играют важнейшую роль в мониторинге производственных линий и обнаружении дефектов в режиме реального времени.

Рис. 3. Пример использования YOLO11 для анализа производственной сборочной линии.(Источник)

Вместо того чтобы отправлять изображения или данные датчиков в облако для обработки, что может привести к задержкам и зависит от подключения к Интернету, интеграция ExecuTorch позволяет моделям YOLO11 работать непосредственно на локальном оборудовании. Это означает, что фабрики могут мгновенно обнаруживать проблемы с качеством, сокращать время простоя и сохранять конфиденциальность данных, работая при этом с ограниченными вычислительными ресурсами.

Вот еще несколько примеров применения интеграции ExecuTorch и модели YOLO от Ultralytics:

  • Умные города: Выполняя модели YOLO11 локально с помощью ExecuTorch, города могут быстрее принимать решения на основе данных, от обнаружения пробок до выявления опасностей, повышая общую мобильность и безопасность.
  • Розничная торговля и складское хозяйство: Благодаря выводам, сделанным с помощью устройств, ритейлеры могут автоматизировать мониторинг полок, отслеживать запасы и проверять упаковки быстро и безопасно, не полагаясь на облачные соединения.
  • Робототехника и дроны: Модели YOLO11, оптимизированные для работы с краями, позволяют роботам и дронам распознавать объекты, ориентироваться в окружающей среде и принимать решения в режиме реального времени даже без доступа к Интернету.

Рис. 4. Обнаружение и подсчет автомобилей в пробке с помощью YOLO11(Источник)

Основные выводы

Экспорт моделей Ultralytics YOLO в формат ExecuTorch упрощает развертывание моделей компьютерного зрения на многих устройствах, включая смартфоны, планшеты и встраиваемые системы, такие как Raspberry Pi. Это означает, что можно выполнять оптимизированный вывод на устройстве, не полагаясь на облачное подключение, что повышает скорость, конфиденциальность и надежность.

Наряду с ExecuTorch, Ultralytics поддерживает широкий спектр интеграций, включая TensorRT, OpenVINO, CoreML и другие, обеспечивая разработчикам гибкость при запуске моделей на разных платформах. По мере роста внедрения Vision AI эти интеграции упрощают развертывание интеллектуальных систем, созданных для эффективной работы в реальных условиях.

Любопытно узнать об искусственном интеллекте? Ознакомьтесь с нашим репозиторием GitHub, присоединяйтесь к нашему сообществу и изучите варианты лицензирования, чтобы начать свой проект Vision AI. Узнайте больше о таких инновациях, как ИИ в розничной торговле и компьютерное зрение в логистике, посетив страницы наших решений.

Давайте строить будущее
ИИ вместе!

Начните свой путь в будущее машинного обучения

Начать бесплатно
Ссылка скопирована в буфер обмена