Узнай, как экспортировать модель 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 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 можно напрямую развертывать на мобильных и встраиваемых устройствах. При развертывании на устройстве модели выполняются непосредственно на аппаратном обеспечении, поэтому подключение к облаку не требуется. Модель можно встроить в пакет приложения или загружать по запросу.
-
Гибридное развертывание: гибридный подход сочетает развертывание на устройстве и в облаке, предлагая универсальное и масштабируемое решение для развертывания моделей машинного обучения. Среди преимуществ — обработка на устройстве для быстрого ответа и облачные вычисления для более сложных вычислений.
Поддерживаемые задачи#
Экспорт на Edge TPU поддерживает шесть из семи задач Ultralytics. Семантическая сегментация доступна только в YOLO26 — единственном семействе, в котором есть соответствующая голова. Оценка глубины не поддерживается, поскольку INT8-модель генерирует оператор v2 EXP, который компилятор 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, возникнут сложности, решения и советы найдешь в руководстве по распространенным проблемам.
Использование#
Все модели Ultralytics YOLO26 изначально поддерживают экспорт, поэтому их легко интегрировать в предпочтительный процесс развёртывания. Чтобы выбрать оптимальную конфигурацию для своего приложения, посмотри полный список поддерживаемых форматов экспорта и параметров конфигурации.
Формат TFLite Edge TPU поддерживает режимы экспорта, предсказания и валидации. Инференс и валидация выполняются на оборудовании Coral Edge TPU. Экспортируй модель, а затем загрузи экспортированную модель, чтобы запустить инференс или проверить точность.
from ultralytics import YOLO
# Загрузи модель YOLO26
model = YOLO("yolo26n.pt")
# Экспорт модели в формат TFLite Edge TPU
model.export(format="edgetpu") # создает 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'from ultralytics import YOLO
# Загрузка экспортированной модели TFLite Edge TPU
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
# Выполнить инференс
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Загрузка экспортированной модели TFLite Edge TPU
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
# Проверить точность на наборе данных COCO8
metrics = model.val(data="coco8.yaml")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'edgetpu' | Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Заданный размер изображения на входе модели. Можно указать целое число для квадратных изображений или кортеж (height, width) для конкретных размеров. |
quantize | int или str | 8/авто | Точность квантования. Для Edge TPU требуется 8 (INT8), и этот режим включается автоматически: он сжимает модель и ускоряет инференс с минимальной потерей точности на периферийных устройствах. Заменяет устаревшие флаги half/int8. |
opset | int | None | Задает версию opset ONNX для промежуточного графа 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). |
Для экспорта на Edge TPU используй компьютер с 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: узнай, как использовать TensorFlow Lite Python API в приложениях для Edge TPU, включая инструкции по настройке и применению.
Итоги#
В этом руководстве мы рассмотрели, как экспортировать модели Ultralytics YOLO26 в формат TFLite Edge TPU. Следуя приведенным выше шагам, ты сможешь повысить скорость и эффективность своих приложений для компьютерного зрения.
Дополнительную информацию об использовании смотри на официальном сайте Coral Edge TPU.
Дополнительную информацию о других интеграциях Ultralytics YOLO26 смотри на нашей странице руководства по интеграциям. Там ты найдешь полезные материалы и рекомендации.
Часто задаваемые вопросы#
Чтобы экспортировать модель YOLO26 в формат TFLite Edge TPU, выполни следующие действия:
Использованиеfrom ultralytics import YOLO # Загрузи модель YOLO26 model = YOLO("yolo26n.pt") # Экспорт модели в формат TFLite Edge TPU model.export(format="edgetpu") # создает 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite' # Загрузка экспортированной модели TFLite Edge TPU edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite") # Выполнить инференс 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 возникли проблемы, воспользуйся нашим руководством «Распространенные проблемы», чтобы найти советы по их устранению. В руководстве описаны распространенные проблемы и решения, которые помогут обеспечить бесперебойную работу. За дополнительной помощью обращайся в наш центр поддержки.