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

Как экспортироватьYOLO Ultralytics YOLO с помощью Ultralytics

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

Хотите реализовать проект в области компьютерного зрения?

Узнать о лицензировании

В прошлом месяце мы запустили Ultralytics — единое рабочее пространство, призванное упростить весь рабочий процесс в области компьютерного зрения. Она объединяет ключевые функции искусственного интеллекта в области компьютерного зрения, включая управление наборами данных, аннотирование, обучение моделей, тестирование, развертывание и мониторинг, в едином удобном интерфейсе.

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

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

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

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

Обычно этот процесс может занимать много времени и требует использования скриптов, учета зависимостей и нескольких инструментов. С Ultralytics экспорт становится гораздо проще. Модели можно конвертировать и оптимизировать всего за несколько кликов, без дополнительной настройки.

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

Обзор экспорта модели

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

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

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

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

Почему возможность экспорта моделей сейчас важна как никогда

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

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

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

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

Рис. 2. Некоторые из форматов экспорта, доступных в Ultralytics (Источник)

Например, форматNCNN оптимизирован для мобильных устройств и периферийных устройств с низким потреблением ресурсов. В то же время OpenVINO разработан специально для Intel и обеспечивает более высокую производительность на центральных процессорах (CPU), графических процессорах (GPU) и нейронных процессорах (NPU). 

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

Как Ultralytics упрощает экспорт моделей

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

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

Рис. 3. Пример экспорта модели из Ultralytics (Источник)

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

Форматы экспорта моделей, поддерживаемые Ultralytics

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

Ниже приводится обзор некоторых наиболее распространенных форматов экспорта:

  • Кроссплатформенность и совместимость: ONNX TorchScript широко TorchScript для запуска моделей в различных фреймворках и средах. ONNX в качестве моста между экосистемами, упрощая перенос моделей между инструментами, а TorchScript запускать PyTorch в производственной среде без необходимости использования Python .
  • Высокопроизводительная инференция на графических процессорах: TensorRT для NVIDIA и ориентирован на оптимизацию моделей с целью обеспечения низкой задержки и высокой пропускной способности. Он поддерживает такие методы, как снижение точности и объединение слоев, для ускорения инференции, что делает его отличным выбором для приложений, работающих в режиме реального времени и в производственных условиях.
  • Развертывание на мобильных устройствах и на периферии: CoreML, LiteRT (TensorFlow ) и NCNN для устройств с ограниченными вычислительными ресурсами и объемом памяти. Эти форматы уменьшают размер модели и повышают эффективность, обеспечивая плавную работу на смартфонах, встроенных системах и периферийном оборудовании. CoreML обычно CoreML в экосистемах Apple, а LiteRT — в Android.
  • Выполнение с оптимизацией под аппаратное обеспечение: OpenVINO для Intel , включая ЦП, ГП и ВП, и способствует повышению скорости и эффективности инференса на этих устройствах. Такие форматы, оптимизированные под конкретное аппаратное обеспечение, полезны в тех случаях, когда необходимо добиться максимальной производительности конкретной системы.
  • Специализированные среды выполнения для конкретных фреймворков: такие форматы , как PaddlePaddle ExecuTorch, поддерживают определенные экосистемы и удовлетворяют конкретные потребности развертывания, в том числе обеспечивают эффективное выполнение моделей на периферийных устройствах или интеграцию с конкретными стеками глубокого обучения.

Как экспортировать модель с помощью Ultralytics

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

Вот как можно экспортировать модель с помощью платформы:

  • Войдите в систему и выберите модель: перейдите в свой проект и откройте обученную модель, которую хотите экспортировать.
  • Перейдите на вкладку «Экспорт»: На панели управления моделью нажмите на вкладку «Экспорт», чтобы просмотреть доступные параметры экспорта.
  • Выберите формат экспорта: выберите формат, например ONNX, TensorRT или CoreML от ваших потребностей при развертывании.
  • Настройте параметры экспорта (необязательно): отрегулируйте такие параметры, как размер изображения, точность или размер пакета, чтобы оптимизировать производительность.
  • Начните процесс экспорта: нажмите «Начать экспорт», чтобы запустить процесс. Платформа выполнит преобразование автоматически.
  • Скачайте экспортированную модель: после завершения экспорта вы можете скачать модель и использовать её в своей конфигурации развёртки.
Рис. 4. Обзор настроек экспорта в Ultralytics

Выбор подходящего формата экспорта

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

Вот несколько факторов, которые следует учитывать:

  • Требования к задержке: для приложений реального времени, таких как видеоаналитика или автономные системы, низкая задержка имеет решающее значение. Форматы, оптимизированные для высокопроизводительного вывода, такие как TensorRT, часто являются более подходящими.
  • Ограничения аппаратного обеспечения: Устройства с ограниченным объемом памяти и вычислительной мощностью, такие как мобильные телефоны или встроенные системы, требуют использования компактных форматов, таких как LiteRT или NCNN. 
  • Размер модели и энергопотребление: при работе с периферийными устройствами размер модели и энергопотребление приобретают особое значение. Более компактные, оптимизированные модели позволяют обеспечить стабильную производительность без чрезмерного расхода ресурсов.
  • Среда развертывания: если ваша модель должна работать на разных платформах, такие форматы, как ONNX необходимую гибкость. Для сценариев, специфичных для конкретных платформ, например для iOS , CoreML часто CoreML более подходящим выбором.

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

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

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

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

Давайте вместе создадим будущее искусственного интеллекта!

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