Узнай, как экспортировать модель в формат TFLite Edge TPU из YOLO26#
Развертывание моделей компьютерного зрения на устройствах с ограниченными вычислительными ресурсами, таких как мобильные или встраиваемые системы, может быть сложным. Использование формата модели, оптимизированного для более высокой производительности, упрощает этот процесс. Формат модели 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 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.
-
Гибридное развертывание: гибридный подход сочетает развертывание на устройстве и в облаке, обеспечивая универсальное и масштабируемое решение для развертывания моделей машинного обучения. Среди преимуществ — обработка на устройстве для быстрых ответов и облачные вычисления для более сложных вычислений.
Поддерживаемые задачи#
Экспорт в Edge TPU поддерживает шесть из семи задач Ultralytics. Семантическая сегментация доступна только в YOLO26 — единственном семействе, поставляемом с такой головой. Оценка глубины не поддерживается, поскольку ее модель INT8 выдает оператор EXP v2, который компилятор Edge TPU не может разобрать.
| Задача | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Детекция | ✅ | ✅ | ✅ |
| Сегментация | ✅ | ✅ | ✅ |
| Семантическая сегментация | ❌ | ❌ | ✅ |
| Оценка глубины | ❌ | ❌ | ❌ |
| Классификация | ✅ | ✅ | ✅ |
| Поза | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Компилятор Edge TPU сопоставляет поддерживаемые операции с ускорителем, а остальные оставляет на CPU, поэтому поддержка задачи не означает, что каждая операция выполняется на TPU.
Экспорт моделей YOLO26 в TFLite Edge TPU#
Ты можешь расширить совместимость моделей и гибкость развертывания, преобразовав модели YOLO26 в TensorFlow Edge TPU.
Установка#
Чтобы установить необходимый пакет, выполни:
# Install the required package for YOLO26
pip install ultralyticsПодробные инструкции и рекомендации по установке смотри в нашем руководстве по установке Ultralytics. Если при установке необходимых для YOLO26 пакетов возникнут трудности, обратись к руководству по распространенным проблемам, где encontrarás решения и советы.
Использование#
Все модели Ultralytics YOLO26 изначально поддерживают экспорт, поэтому их легко интегрировать в предпочитаемый тобой рабочий процесс развёртывания. Ты можешь просмотреть полный список поддерживаемых форматов экспорта и параметров конфигурации, чтобы выбрать оптимальную настройку для своего приложения.
Формат TFLite Edge TPU поддерживает режимы экспорта, предсказания и валидации. Инференс и валидация выполняются на оборудовании Coral Edge TPU. Экспортируй модель, затем загрузи экспортированную модель для выполнения инференса или проверки ее точности.
from ultralytics import YOLO
# Load a 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'from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'edgetpu' | Целевой формат экспортированной модели, определяющий совместимость с различными средами развёртывания. |
imgsz | int или tuple | 640 | Требуемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров. |
quantize | int или str | 8/auto | Точность квантования. 8 (INT8) требуется и автоматически включается для Edge TPU: это сжимает модель и ускоряет инференс с минимальной потерей точности на периферийных устройствах. Заменяет устаревшие флаги half/int8. |
opset | int | None | Задает версию opset для промежуточного графа ONNX. Если параметр не задан, используется последняя поддерживаемая версия. |
data | str | None | Путь к YAML-файлу датасета, необходимый для квантования; для классификации вместо этого указывается каталог датасета или имя встроенного датасета. Если параметр не задан вместе с quantize=8, Ultralytics выбирает датасет калибровки по умолчанию для задачи модели. |
fraction | float, int или list | 1.0 | Подмножество для калибровки в виде доли, количества изображений или значений [train, val, test] — долей/количеств. В списках из двух элементов test оставляет полный набор, а 0 пропускает его. |
device | str | None | Указывает устройство для экспорта: CPU (device=cpu). |
При экспорте в EdgeTPU обязательно используй машину с Linux на базе x86.
Подробнее о процессе экспорта см. на странице документации Ultralytics об экспорте.
Развертывание экспортированных моделей YOLO26 TFLite Edge TPU#
После успешного экспорта моделей Ultralytics YOLO26 в формат TFLite Edge TPU ты можешь развернуть их. Основной и рекомендуемый первый шаг для запуска модели TFLite Edge TPU — использовать метод YOLO("model_edgetpu.tflite"), как показано в предыдущем фрагменте кода.
Однако подробные инструкции по развертыванию моделей TFLite Edge TPU смотри в следующих ресурсах:
-
Coral Edge TPU на Raspberry Pi с Ultralytics YOLO26: узнай, как интегрировать Coral Edge TPU с Raspberry Pi для расширения возможностей машинного обучения.
-
Примеры кода: ознакомься с практическими примерами развертывания TensorFlow Edge TPU, чтобы начать работу над своими проектами.
-
Запуск инференса на Edge TPU с Python: узнай, как использовать Python API TensorFlow Lite для приложений Edge TPU, включая инструкции по настройке и использованию.
Итоги#
В этом руководстве мы рассмотрели экспорт моделей Ultralytics YOLO26 в формат TFLite Edge TPU. Следуя описанным выше шагам, ты можешь повысить скорость и энергоэффективность приложений компьютерного зрения.
Дополнительные сведения об использовании смотри на официальном сайте Edge TPU.
Дополнительную информацию о других интеграциях Ultralytics YOLO26 смотри на нашей странице руководства по интеграциям. Там ты найдешь полезные ресурсы и рекомендации.
Часто задаваемые вопросы#
Чтобы экспортировать модель YOLO26 в формат TFLite Edge TPU, выполни следующие шаги:
Использованиеfrom ultralytics import YOLO # Load a 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 дает несколько преимуществ:
- Оптимизированная производительность: высокая скорость работы нейронной сети при минимальном энергопотреблении.
- Сниженная задержка: быстрая локальная обработка данных без зависимости от облака.
- Повышенная конфиденциальность: локальная обработка сохраняет конфиденциальность и безопасность пользовательских данных.
Это делает формат идеальным для приложений периферийных вычислений, где устройства располагают ограниченными энергетическими и вычислительными ресурсами. Узнай больше о том, зачем экспортировать модель.
Да, модели TensorFlow Lite Edge TPU можно напрямую развертывать на мобильных и встраиваемых устройствах. При таком подходе модели выполняются непосредственно на оборудовании, обеспечивая более быстрый и эффективный инференс. Примеры интеграции смотри в нашем руководстве по развертыванию Coral Edge TPU на Raspberry Pi.
Распространенные варианты использования моделей TFLite Edge TPU включают:
- Умные камеры: улучшение анализа изображений и видео в реальном времени.
- Устройства IoT: обеспечение работы умного дома и промышленной автоматизации.
- Здравоохранение: ускорение медицинской визуализации и диагностики.
- Розничная торговля: улучшение управления запасами и анализа поведения клиентов.
Эти приложения получают преимущества от высокой производительности и низкого энергопотребления моделей TFLite Edge TPU. Узнай больше о сценариях использования.
Если у тебя возникли проблемы при экспорте или развертывании моделей TFLite Edge TPU, обратись к нашему руководству по распространенным проблемам, где приведены рекомендации по устранению неполадок. В руководстве рассматриваются распространенные проблемы и решения, которые помогут обеспечить стабильную работу. Для получения дополнительной поддержки посетите наш Справочный центр.