YOLO Vision 2026:
Интеграции

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

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

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

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

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

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

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

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

В этой статье мы более подробно рассмотрим, как работает интеграция ExecuTorch, почему она отлично подходит для приложений edge AI и как ты можешь начать развертывание моделей 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-битных чисел с плавающей точкой) в менее точные, в то время как обработка динамических форм используется для эффективного процесса обработки моделей с переменными размерами входных данных. Обе функции критически важны для запуска моделей ИИ на периферийных устройствах с ограниченными ресурсами.

A look at how ExecuTorch works

Рис 1. Обзор работы ExecuTorch (Источник)

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

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

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

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

Основные возможности ExecuTorch#

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

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

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

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

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

Шаг 1: Установка пакета Ultralytics Python#

Для начала тебе нужно установить пакет Python от Ultralytics с помощью 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 можно загрузить в твое приложение для выполнения инференса на устройстве в реальном времени без необходимости подключения к облаку.

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

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

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

Обнаружение объектов с помощью экспортированной модели Ultralytics YOLO11 в формате ExecuTorch

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

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

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

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

  • Гибкие варианты развертывания: Модели ExecuTorch можно развертывать в мобильных приложениях, встраиваемых системах, устройствах IoT (интернета вещей) и специализированном оборудовании для edge AI. Эта гибкость позволяет разработчикам создавать масштабируемые решения на базе ИИ, которые стабильно работают на разнообразных платформах и в различных средах.
  • Производительность, подтвержденная бенчмарками: Тесты на таких устройствах, как 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. Он также может задействовать выделенные ускорители, такие как NPUs и DSPs, для достижения значительного прироста скорости по сравнению с инференсом только на CPU.

Реальные приложения Ultralytics YOLO11 и экспорта в ExecuTorch#

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

От облака к периферии: как ExecuTorch и Ultralytics YOLO11 воплощают компьютерное зрение в жизнь#

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

Использование Ultralytics YOLO11 для анализа сборочной линии на производстве

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

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

Вот несколько других примеров того, как можно применять интеграцию ExecuTorch и модели Ultralytics YOLO:

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

Detecting and counting cars in traffic using Ultralytics YOLO11

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

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

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

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

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

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше

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

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