Перейти к содержимому

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

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

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

Почему тебе стоит экспортировать в TFLite Edge TPU?

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

TFLite Edge TPU

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

Ключевые особенности TFLite Edge TPU

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

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

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

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

Варианты развертывания с помощью TFLite Edge TPU

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

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

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

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

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

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

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

Установка

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

Установка

# Install the required package for YOLOv8
pip install ultralytics

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

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

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

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

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TFLite Edge TPU format
yolo export model=yolov8n.pt format=edgetpu  # creates 'yolov8n_full_integer_quant_edgetpu.tflite'

# Run inference with the exported model
yolo predict model=yolov8n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'

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

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

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

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

  • Coral Edge TPU на Raspberry Pi с. Ultralytics YOLOv8: Узнай, как интегрировать TPU Coral Edge с Raspberry Pi для расширения возможностей машинного обучения.

  • Примеры кодов: Получи доступ к практическим примерам развертывания TensorFlow Edge TPU , чтобы запустить свои проекты.

  • Запускай Inference on the Edge TPU с. Python: Узнай, как использовать TensorFlow Lite Python API для приложений Edge TPU , включая рекомендации по настройке и использованию.

Резюме

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

Более подробную информацию об использовании можно найти на официальном сайте Edge TPU .

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



Создано 2024-03-13, Обновлено 2024-05-18
Авторы: glenn-jocher (1), Burhan-Q (1), abirami-vina (1)

Комментарии