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

Некоторые приложения компьютерного зрения, например автоматизированный контроль качества, автономные дроны или интеллектуальные системы безопасности, работают лучше всего, когда модели Ultralytics YOLO, такие как Ultralytics YOLO11, выполняются рядом с датчиком, который захватывает изображения. Иными словами, этим моделям нужно обрабатывать данные непосредственно там, где они создаются: на камерах, дронах или встраиваемых системах, а не отправлять их в облако.
Этот подход, известный как периферийный ИИ, позволяет моделям выполнять инференс непосредственно на устройстве, где захватываются данные. Локальная обработка информации вместо обращения к удалённым серверам обеспечивает меньшую задержку, повышенную конфиденциальность данных и более высокую надёжность даже в условиях ограниченного или отсутствующего интернет-соединения.
Например, производственная камера, которая проверяет тысячи изделий в минуту, или дрон, прокладывающий маршрут в сложной среде, не могут позволить себе задержки, связанные с обработкой в облаке. Запуск Ultralytics YOLO11 непосредственно на устройстве обеспечивает мгновенный инференс на устройстве.
Чтобы упростить и повысить эффективность запуска моделей Ultralytics YOLO на периферийных устройствах, новая интеграция ExecuTorch, поддерживаемая Ultralytics, предоставляет оптимизированный способ экспорта и развёртывания моделей непосредственно на мобильных и встраиваемых устройствах. 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) — оптимизированный формат экспорта, предназначенный для ускорения загрузки, уменьшения объёма памяти и повышения переносимости.
Он поддерживает XNNPACK в качестве серверной части по умолчанию для эффективного инференса на центральном процессоре (CPU) и обеспечивает совместимость с широким спектром аппаратных серверных частей, включая CoreML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO и другие.
Эти серверные части обеспечивают оптимизированное ускорение на мобильных, встраиваемых и специализированных периферийных устройствах. ExecuTorch также интегрируется с конвейером экспорта PyTorch, поддерживая расширенные возможности, такие как квантизация и обработка динамических форм, для повышения производительности и адаптивности в различных средах развёртывания.
Квантизация уменьшает размер модели и повышает скорость инференса, преобразуя значения высокой точности, например числа с плавающей запятой разрядностью 32 бита, в значения с меньшей точностью, а обработка динамических форм позволяет моделям эффективно работать с входными данными переменного размера. Обе возможности крайне важны для запуска моделей ИИ на периферийных устройствах с ограниченными ресурсами.

Рис. 1. Принцип работы ExecuTorch (Источник)
Унифицированный слой для периферийного оборудования#
Помимо среды выполнения, ExecuTorch также выступает унифицированным уровнем абстракции для нескольких аппаратных серверных частей. Проще говоря, он скрывает особенности конкретного оборудования и управляет взаимодействием моделей с различными вычислительными блоками, включая CPU, GPU и нейронные процессоры (NPUs).
После экспорта модели ExecuTorch можно настроить для выбора наиболее подходящей серверной части конкретного устройства. Разработчики могут эффективно развёртывать модели на различном оборудовании без написания специального кода для отдельных устройств и поддержки отдельных рабочих процессов конвертации.
Благодаря модульной переносимой архитектуре и бесшовной интеграции с PyTorch ExecuTorch отлично подходит для развёртывания моделей компьютерного зрения, таких как Ultralytics YOLO11, на мобильных и встраиваемых системах. Он устраняет разрыв между обучением модели и её применением в реальных условиях, делая периферийный ИИ более быстрым, эффективным и простым во внедрении.
Ключевые возможности ExecuTorch#
Прежде чем рассмотреть экспорт моделей Ultralytics YOLO в формат ExecuTorch, давай разберёмся, что делает ExecuTorch надёжным вариантом для развёртывания ИИ на периферийных устройствах.
Вот некоторые из его ключевых возможностей:
- Поддержка квантизации: ExecuTorch поддерживает квантизацию моделей — метод преобразования значений высокой точности в значения с меньшей точностью для уменьшения размера модели и ускорения инференса. Благодаря этому модели работают быстрее и используют меньше памяти на периферийных устройствах, сохраняя почти тот же уровень точности.
- Эффективное использование памяти: Одно из главных преимуществ 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” и экспортировать её, вызвав функцию 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. Обнаружение объектов с помощью экспортированной модели 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, присоединяйся к нашему сообществу и изучи варианты лицензирования, чтобы начать свой проект в области ИИ компьютерного зрения. Узнай больше о таких инновациях, как ИИ в розничной торговле и компьютерное зрение в логистике, на наших страницах с решениями.









