YOLO Vision 2026:

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

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.

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

Поддерживаемые задачи#

Экспорт в Edge TPU поддерживает шесть из семи задач Ultralytics. Семантическая сегментация доступна только в YOLO26, так как это единственное семейство моделей, содержащее соответствующую «голову». Оценка глубины не поддерживается, так как ее модель INT8 выдает оператор EXP версии 2, который компилятор Edge TPU не может разобрать.

ЗадачаYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
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

# 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")

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

АргументТипПо умолчаниюОписание
formatstr'edgetpu'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входа модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
quantizeint или str8/autoТочность квантования. 8 (INT8) является обязательным и включается автоматически для Edge TPU; это сжимает модель и ускоряет инференс с минимальной потерей точности на периферийных устройствах. Заменяет устаревшие флаги half/int8.
opsetintNoneУказывает версию ONNX opset для промежуточного графа ONNX. Если не задано, используется последняя поддерживаемая версия.
datastrNoneПуть к YAML датасета, необходимый для квантования; для классификации вместо этого указывается каталог датасета или встроенное имя датасета. Если не указано с quantize=8, Ultralytics выбирает датасет калибровки по умолчанию для задачи модели.
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, ты можешь выполнить следующие шаги:

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

Комментарии