Разверни модели Ultralytics YOLO с помощью интеграции ExecuTorch
Узнай, как экспортировать модели Ultralytics YOLO, например Ultralytics YOLO11, в формат ExecuTorch для эффективного развёртывания на периферийных и мобильных устройствах с использованием нативных возможностей PyTorch.
Abirami Vina9 мин. чтения
Некоторые приложения компьютерного зрения, например автоматизированный контроль качества, автономные дроны и интеллектуальные системы безопасности, работают лучше всего, когда модели Ultralytics YOLO, такие как Ultralytics YOLO11, запускаются рядом с датчиком, который снимает изображения. Иными словами, модели должны обрабатывать данные непосредственно там, где они создаются, — на камерах, дронах или встроенных системах, — а не отправлять их в облако.
Этот подход, известный как периферийный ИИ, позволяет моделям выполнять инференс непосредственно на устройстве, где собираются данные. Локальная обработка вместо обращения к удалённым серверам снижает задержку, повышает конфиденциальность данных и надёжность системы даже в условиях ограниченного или отсутствующего интернет-соединения.
Например, камера на производстве, проверяющая тысячи изделий в минуту, или дрон, перемещающийся в сложной среде, не может позволить себе задержки, связанные с обработкой в облаке. Запуск Ultralytics YOLO11 непосредственно на устройстве обеспечивает мгновенный инференс.
Чтобы упростить и ускорить запуск моделей Ultralytics YOLO на периферийных устройствах, Ultralytics добавила поддержку новой интеграции с ExecuTorch, которая упрощает экспорт и развёртывание моделей непосредственно на мобильных и встроенных устройствах. ExecuTorch входит в экосистему PyTorch Edge и предоставляет комплексное решение для запуска моделей ИИ непосредственно на мобильном и периферийном оборудовании, включая телефоны, носимые устройства, встраиваемые платы и микроконтроллеры.
Благодаря этой интеграции модель Ultralytics YOLO, например YOLO11, легко перенести с этапа обучения на периферийные устройства. Сочетая возможности компьютерного зрения YOLO11 с лёгкой средой выполнения ExecuTorch и конвейером экспорта PyTorch, пользователи могут развёртывать модели, эффективно работающие на периферийном оборудовании, и при этом сохранять точность и производительность инференса на базе PyTorch.
В этой статье мы подробнее рассмотрим, как работает интеграция ExecuTorch, почему она отлично подходит для периферийных приложений ИИ и как начать развертывать модели Ultralytics YOLO с помощью ExecuTorch.
Что такое ExecuTorch?#
Обычно обученная в PyTorch модель запускается на мощных серверах или графических процессорах (GPUs) в облаке. Однако для развертывания этой же модели на мобильном или встраиваемом устройстве, например смартфоне, дроне или микроконтроллере, требуется специализированное решение, которое справится с ограниченными вычислительными ресурсами, памятью и подключением.
Именно такую задачу и решает ExecuTorch. ExecuTorch — это комплексное решение, разработанное в рамках экосистемы PyTorch Edge, которое обеспечивает эффективный инференс непосредственно на устройствах мобильных, встроенных и периферийных платформ. Оно расширяет возможности PyTorch за пределы облака и позволяет запускать модели ИИ непосредственно на локальных устройствах.
Перенос инференса PyTorch на периферийные устройства#
В основе ExecuTorch лежит лёгкая среда выполнения на C++, которая позволяет запускать модели PyTorch непосредственно на устройстве. ExecuTorch использует формат моделей PyTorch ExecuTorch (.pte) — оптимизированный формат экспорта, обеспечивающий более быструю загрузку, меньший объём памяти и лучшую переносимость.
По умолчанию для эффективного инференса на центральном процессоре (CPU) используется XNNPACK. Кроме того, поддерживается широкий спектр аппаратных бэкендов, включая CoreML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO и другие.
Эти бэкенды обеспечивают ускоренную работу на мобильных, встроенных и специализированных периферийных устройствах. ExecuTorch также интегрируется с конвейером экспорта PyTorch и поддерживает такие расширенные функции, как квантование и обработка динамических форм, которые повышают производительность и адаптивность в разных средах развёртывания.
Квантование уменьшает размер модели и ускоряет инференс, преобразуя значения высокой точности, например числа с плавающей запятой в 32-битном формате, в значения более низкой точности. Обработка динамических форм позволяет моделям эффективно работать с входными данными разных размеров. Обе функции крайне важны для запуска моделей ИИ на периферийных устройствах с ограниченными ресурсами.

Рис. 1. Как работает ExecuTorch (источник)
Единый уровень абстракции для периферийного оборудования#
Помимо среды выполнения, ExecuTorch выступает единой абстракцией для нескольких аппаратных платформ. Проще говоря, он скрывает особенности конкретного оборудования и управляет взаимодействием моделей с разными вычислительными устройствами, включая центральные процессоры (CPUs), графические процессоры (GPUs) и нейропроцессоры (NPUs).
После экспорта модели ExecuTorch можно настроить для работы с наиболее подходящим бэкендом на конкретном устройстве. Разработчики могут эффективно развёртывать модели на разнообразном оборудовании, не создавая специальный код для отдельных устройств и не поддерживая отдельные процессы преобразования.
Благодаря модульной переносимой архитектуре и тесной интеграции с PyTorch, ExecuTorch отлично подходит для развертывания моделей компьютерного зрения, таких как Ultralytics YOLO11, на мобильных и встраиваемых системах. Он устраняет разрыв между обучением модели и ее развертыванием в реальных условиях, упрощая внедрение периферийного ИИ и делая его быстрее и эффективнее.
Ключевые возможности ExecuTorch#
Прежде чем разбираться, как экспортировать модели Ultralytics YOLO в формат ExecuTorch, рассмотрим, почему ExecuTorch — надежный вариант для развертывания ИИ на периферийных устройствах.
Вот некоторые ключевые возможности ExecuTorch:
- Поддержка квантования: ExecuTorch поддерживает квантование моделей — метод преобразования значений высокой точности в значения меньшей точности для уменьшения размера модели и ускорения инференса. Благодаря этому модели быстрее работают на периферийных устройствах и используют меньше памяти, сохраняя почти ту же точность. Сейчас экспорт Ultralytics создает модели FP32 для бэкенда XNNPACK.
- Эффективное использование памяти: одно из главных преимуществ ExecuTorch — эффективная работа с памятью. Вместо динамического выделения памяти, которое может увеличить задержки и энергопотребление, ExecuTorch использует планирование памяти на этапе компиляции (AOT). При экспорте анализируется граф модели и заранее рассчитывается объём памяти для каждой операции. Благодаря этому среда выполнения использует статический план памяти, обеспечивая предсказуемую производительность и предотвращая замедления и сбои на устройствах с ограниченным объёмом RAM или вычислительной мощностью.
- Встроенные метаданные модели: при экспорте с помощью интеграции, поддерживаемой Ultralytics, к каждой модели прилагается файл YAML с важными метаданными, например размером входного изображения, названиями классов и параметрами конфигурации. Этот дополнительный файл упрощает интеграцию модели в различные приложения и обеспечивает единообразную работу на разных периферийных платформах.
Как экспортировать модели Ultralytics YOLO в формат ExecuTorch#
Теперь, когда мы лучше понимаем возможности ExecuTorch, давай разберёмся, как экспортировать модели Ultralytics YOLO в формат ExecuTorch.
Шаг 1. Установи пакет Ultralytics для Python#
Для начала установи пакет 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» и экспортировать ее, вызвав функцию экспорта с параметром формата «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. Обнаружение объектов с помощью экспортированной модели Ultralytics YOLO11 в формате ExecuTorch.
Преимущества интеграции с ExecuTorch#
Изучая различные варианты экспорта, поддерживаемые Ultralytics, ты можешь задаться вопросом, чем интеграция с ExecuTorch отличается от остальных. Главное отличие — сочетание производительности, простоты и гибкости, благодаря которому мощные модели ИИ легко развёртывать непосредственно на мобильных и периферийных устройствах.
Вот некоторые ключевые преимущества интеграции с ExecuTorch:
- Гибкие варианты развёртывания: модели ExecuTorch можно развёртывать в мобильных приложениях, встроенных системах, устройствах IoT (интернета вещей) и на специализированном оборудовании для периферийного ИИ. Такая гибкость помогает разработчикам создавать масштабируемые решения на базе ИИ, которые стабильно работают на разных платформах и в различных средах.
- Производительность, подтверждённая тестами: испытания на таких устройствах, как Raspberry Pi 5, показывают, что модели Ultralytics YOLO11, экспортированные в формат ExecuTorch, работают примерно в 2 раза быстрее соответствующих моделей PyTorch при почти такой же точности.
- Гибкие API для интеграции: ExecuTorch предоставляет API на C++, Kotlin и Objective-C для iOS, Android и встроенного Linux, позволяя разработчикам интегрировать модели YOLO непосредственно в нативные приложения.
- Поддержка аппаратного ускорения: ExecuTorch поддерживает несколько бэкендов аппаратного ускорения, включая Vulkan и Metal для мобильных GPU, а также дополнительную интеграцию с OpenCL и другими API конкретных производителей. Он также может задействовать специализированные ускорители, например NPU и DSP, чтобы значительно повысить скорость инференса по сравнению с запуском только на CPU.
Применение Ultralytics YOLO11 и экспорта в ExecuTorch в реальных условиях#
Недавно Ultralytics отметили как успешный пример использования PyTorch ExecuTorch, подчеркнув нашу раннюю поддержку инференса непосредственно на устройстве и постоянный вклад в экосистему PyTorch. Это признание отражает общую цель — сделать высокопроизводительный ИИ доступнее на мобильных и периферийных платформах.
Из облака на периферийные устройства: как ExecuTorch и Ultralytics YOLO11 помогают внедрять компьютерное зрение и ИИ#
На практике это означает, что решения для компьютерного зрения и ИИ эффективно работают в реальных условиях — от смартфонов до встроенных систем. Например, на производстве периферийные устройства играют важную роль в мониторинге производственных линий и обнаружении дефектов в реальном времени.

Рис. 3. Пример анализа производственной сборочной линии с помощью Ultralytics YOLO11. (Источник)
Вместо отправки изображений или данных датчиков в облако для обработки, которая может задерживаться и зависит от подключения к интернету, интеграция с ExecuTorch позволяет запускать модели Ultralytics YOLO11 непосредственно на локальном оборудовании. Это значит, что заводы могут мгновенно обнаруживать проблемы с качеством, сокращать простои и сохранять конфиденциальность данных, используя при этом ограниченные вычислительные ресурсы.
Вот ещё несколько примеров применения интеграции с ExecuTorch и моделей Ultralytics YOLO:
- Умные города: запуская модели Ultralytics YOLO11 локально с ExecuTorch, города могут быстрее принимать решения на основе данных — от обнаружения пробок до выявления опасностей, улучшая мобильность и безопасность в целом.
- Розничная торговля и складское хозяйство: инференс непосредственно на устройстве позволяет ритейлерам автоматизировать мониторинг полок, отслеживать запасы и быстро и безопасно проверять посылки без подключения к облаку.
- Робототехника и дроны: оптимизированные для периферийных устройств модели Ultralytics YOLO11 позволяют роботам и дронам распознавать объекты, ориентироваться в окружающей среде и принимать решения в реальном времени даже без доступа к интернету.

Рис. 4. Обнаружение и подсчёт автомобилей в потоке с помощью YOLO11 (источник)
Главные выводы#
Экспорт моделей Ultralytics YOLO в формат ExecuTorch упрощает развёртывание моделей компьютерного зрения на самых разных устройствах, включая смартфоны, планшеты и встроенные системы, например Raspberry Pi. Это позволяет запускать оптимизированный инференс непосредственно на устройстве без подключения к облаку, повышая скорость, конфиденциальность и надёжность.
Помимо ExecuTorch, Ultralytics поддерживает широкий спектр интеграций, включая TensorRT, OpenVINO, CoreML и другие, предоставляя разработчикам гибкие возможности запуска моделей на разных платформах. По мере распространения компьютерного зрения на основе ИИ эти интеграции упрощают развертывание интеллектуальных систем, рассчитанных на эффективную работу в реальных условиях.
Интересуешься ИИ? Загляни в наш репозиторий GitHub, присоединяйся к нашему сообществу и изучи варианты лицензирования, чтобы начать свой проект в области компьютерного зрения и ИИ. Узнай больше о таких инновациях, как ИИ в розничной торговле и компьютерное зрение в логистике, на страницах наших решений.
Автор
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.










