Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Интеграции

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

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

Абирами ВинаAbirami Vina9 мин. чтения
Развёртывание моделей Ultralytics YOLO с интеграцией ExecuTorch

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

Как работает ExecuTorch

Рис. 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».

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

Рис. 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 помогают внедрять компьютерное зрение и ИИ#

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

Анализ производственной сборочной линии с помощью Ultralytics YOLO11

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

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

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

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

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

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

Главные выводы#

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

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

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

Автор

Abirami Vina
Abirami Vina

Создатель контента · Ultralytics

Начав карьеру инженером по компьютерному зрению, Абирами Вина заложила прочную основу в области ИИ для компьютерного зрения и машинного обучения. Она создает контент для Ultralytics и является основательницей и главным автором Scribe of AI, где готовит качественные технические материалы для компаний, работающих в сфере ИИ. Стремясь сделать ИИ понятным и увлекательным, она помогает связать передовые технологии с их практическим применением.

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

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

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

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

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