Научись экспортировать модели YOLO26 в формат TFLite Edge TPU

Развертывание моделей компьютерного зрения на устройствах с ограниченной вычислительной мощностью, таких как мобильные или встраиваемые системы, может быть непростой задачей. Использование формата модели, оптимизированного для более быстрого выполнения, упрощает этот процесс. Формат модели TensorFlow Lite Edge TPU или TFLite Edge TPU разработан для минимального энергопотребления при высокой скорости работы нейронных сетей.

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

Зачем экспортировать модели в TFLite Edge TPU?

Экспорт моделей в TensorFlow Edge TPU делает задачи машинного обучения быстрыми и эффективными. Эта технология подходит для приложений с ограниченным питанием, вычислительными ресурсами и подключением к сети. Edge TPU — это аппаратный ускоритель от Google. Он ускоряет работу моделей TensorFlow Lite на периферийных устройствах (edge devices). На изображении ниже показан пример этого процесса.

TensorFlow Lite Edge TPU compilation workflow

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

Основные характеристики TFLite Edge TPU

Вот основные особенности, которые делают TFLite Edge TPU отличным выбором формата модели для разработчиков:

  • Оптимизированная производительность на периферийных устройствах: TFLite Edge TPU достигает высокой скорости работы нейронных сетей благодаря квантованию, оптимизации моделей, аппаратному ускорению и оптимизации компилятора. Его минималистичная архитектура способствует уменьшению размера и повышению экономической эффективности.

  • Высокая вычислительная пропускная способность: TFLite Edge TPU сочетает в себе специализированное аппаратное ускорение и эффективное выполнение во время работы для достижения высокой вычислительной мощности. Он отлично подходит для развертывания моделей машинного обучения с жесткими требованиями к производительности на периферийных устройствах.

  • Эффективные матричные вычисления: TensorFlow Edge TPU оптимизирован для матричных операций, которые критически важны для вычислений в нейронных сетях. Эта эффективность является ключевой для моделей машинного обучения, особенно тех, которые требуют многочисленных и сложных матричных умножений и преобразований.

Варианты развертывания с TFLite Edge TPU

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

TFLite Edge TPU предлагает различные варианты развертывания моделей машинного обучения, включая:

  • Развертывание на устройстве: Модели TensorFlow Edge TPU могут быть развернуты непосредственно на мобильных и встраиваемых устройствах. Развертывание на устройстве позволяет моделям выполняться прямо на аппаратном обеспечении, устраняя необходимость в облачном подключении, будь то внедрение модели в состав приложения или ее загрузка по требованию.

  • Периферийные вычисления с облачными TensorFlow TPU: В сценариях, где периферийные устройства имеют ограниченные вычислительные возможности, TensorFlow Edge TPU могут переносить задачи логического вывода на облачные серверы, оснащенные TPU.

  • Гибридное развертывание: Гибридный подход сочетает развертывание на устройстве и в облаке, предлагая гибкое и масштабируемое решение для работы моделей машинного обучения. Преимущества включают обработку на устройстве для быстрых ответов и облачные вычисления для более сложных операций.

Экспорт моделей YOLO26 в TFLite Edge TPU

Ты можешь расширить совместимость моделей и гибкость развертывания, преобразовав модели YOLO26 в TensorFlow Edge TPU.

Установка

Чтобы установить необходимый пакет, выполни:

Установка
# Install the required package for YOLO26
pip install ultralytics

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

Использование

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

Использование
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

Аргументы экспорта

АргументТипПо умолчаниюОписание
formatstr'edgetpu'Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров.
int8boolTrueАктивирует квантование INT8, дополнительно сжимая модель и ускоряя логический вывод с минимальной потерей точности, в основном для периферийных устройств.
datastr'coco8.yaml'Путь к файлу конфигурации dataset (по умолчанию: coco8.yaml), необходимому для квантования.
fractionfloat1.0Задает долю набора данных для использования при калибровке квантования INT8. Позволяет выполнять калибровку на подмножестве полного набора данных, что полезно для экспериментов или при ограниченных ресурсах. Если не указано при включенном INT8, будет использован полный набор данных.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu).
Совет

Пожалуйста, убедись, что используешь машину с архитектурой x86 на базе Linux при экспорте в EdgeTPU.

Для получения более подробной информации о процессе экспорта посети страницу документации Ultralytics по экспорту.

Развертывание экспортированных моделей YOLO26 TFLite Edge TPU

После успешного экспорта твоих моделей Ultralytics YOLO26 в формат TFLite Edge TPU ты можешь их развернуть. Первым и рекомендуемым шагом для запуска модели TFLite Edge TPU является использование метода YOLO("model_edgetpu.tflite"), как указано в предыдущем фрагменте кода использования.

Тем не менее, для получения подробных инструкций по развертыванию моделей TFLite Edge TPU ознакомься со следующими ресурсами:

Резюме

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

Для получения более подробной информации об использовании посети официальный сайт Edge TPU.

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

Часто задаваемые вопросы (FAQ)

Как экспортировать модель YOLO26 в формат TFLite Edge TPU?

Чтобы экспортировать модель YOLO26 в формат TFLite Edge TPU, ты можешь выполнить следующие шаги:

Использование
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

Для получения полных сведений об экспорте моделей в другие форматы обратись к нашему руководству по экспорту.

Каковы преимущества экспорта моделей YOLO26 в TFLite Edge TPU?

Экспорт моделей YOLO26 в TFLite Edge TPU дает несколько преимуществ:

  • Оптимизированная производительность: Высокая скорость работы нейронных сетей при минимальном энергопотреблении.
  • Сниженная задержка: Быстрая локальная обработка данных без зависимости от облака.
  • Повышенная конфиденциальность: Локальная обработка обеспечивает приватность и безопасность пользовательских данных.

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

Можно ли развертывать модели TFLite Edge TPU на мобильных и встраиваемых устройствах?

Да, модели TensorFlow Lite Edge TPU можно развертывать непосредственно на мобильных и встраиваемых устройствах. Такой подход позволяет моделям выполняться прямо на аппаратном обеспечении, обеспечивая более быстрый и эффективный вывод. Примеры интеграции смотри в нашем руководстве по развертыванию Coral Edge TPU на Raspberry Pi.

Какие существуют типичные сценарии использования моделей TFLite Edge TPU?

Типичные варианты использования моделей TFLite Edge TPU включают:

  • Умные камеры: Улучшение анализа изображений и видео в режиме реального времени.
  • IoT-устройства: Обеспечение автоматизации умного дома и промышленных процессов.
  • Здравоохранение: Ускорение медицинской визуализации и диагностики.
  • Ритейл: Улучшение управления запасами и анализа поведения клиентов.

Эти приложения выигрывают от высокой производительности и низкого энергопотребления моделей TFLite Edge TPU. Узнай больше о сценариях использования.

Как устранить неполадки при экспорте или развертывании моделей TFLite Edge TPU?

Если ты столкнулся с проблемами при экспорте или развертывании моделей TFLite Edge TPU, обратись к нашему руководству по распространенным проблемам за советами по устранению неполадок. Это руководство охватывает типичные проблемы и способы их решения для обеспечения бесперебойной работы. Для получения дополнительной поддержки посети наш Справочный центр.

Комментарии