Coral Edge TPU на Raspberry Pi с Ultralytics YOLOv8 🚀.
Что такое коралловый край TPU?
Coral Edge TPU - это компактное устройство, которое добавляет в твою систему сопроцессор Edge TPU . Он обеспечивает маломощные и высокопроизводительные ML-инференции для моделей TensorFlow Lite. Подробнее читай на домашней странице Coral Edge TPU .
Увеличь производительность модели Raspberry Pi с помощью Coral Edge TPU
Многие хотят запускать свои модели на встраиваемых или мобильных устройствах, таких как Raspberry Pi, поскольку они очень энергоэффективны и могут использоваться в самых разных приложениях. Однако производительность вычислений на таких устройствах обычно оставляет желать лучшего даже при использовании таких форматов, как onnx или openvino. Coral Edge TPU - отличное решение этой проблемы, поскольку его можно использовать с Raspberry Pi и значительно ускорить производительность вычислений.
Edge TPU на Raspberry Pi с помощью TensorFlow Lite (New)⭐.
Существующее руководство Coral по использованию Edge TPU с Raspberry Pi устарело, а текущие сборки Coral Edge TPU больше не работают с текущими версиями TensorFlow Lite runtime. Кроме того, Google , похоже, полностью покинул проект Coral, и в период с 2021 по 2024 год не было ни одного обновления. В этом руководстве ты узнаешь, как заставить Edge TPU работать с последними версиями среды выполнения TensorFlow Lite и обновленной средой выполнения Coral Edge TPU на одноплатном компьютере Raspberry Pi (SBC).
Пререквизиты
- Raspberry Pi 4B (рекомендуется 2 Гб или больше) или Raspberry Pi 5 (рекомендуется).
- Raspberry Pi OS Bullseye/Bookworm (64-bit) с рабочим столом (рекомендуется)
- Коралловый USB-ускоритель
- Платформа на базе неARM для экспорта модели Ultralytics PyTorch
Прогулка по установке
Это руководство предполагает, что у тебя уже есть рабочая установка ОС Raspberry Pi и ты установил ultralytics
и всех зависимостей. Чтобы получить ultralytics
Установленный, посетите краткое руководство чтобы настроить его, прежде чем продолжить здесь.
Установка среды выполнения Edge TPU
Во-первых, нам нужно установить среду выполнения Edge TPU . Существует множество различных версий, поэтому тебе нужно выбрать подходящую версию для своей операционной системы.
Raspberry Pi OS | Высокочастотный режим | Версия для скачивания |
---|---|---|
Бычий глаз 32bit | Нет | libedgetpu1-std_ ... .bullseye_armhf.deb |
Бычий глаз 64bit | Нет | libedgetpu1-std_ ... .bullseye_arm64.deb |
Бычий глаз 32bit | Да | libedgetpu1-max_ ... .bullseye_armhf.deb |
Бычий глаз 64bit | Да | libedgetpu1-max_ ... .bullseye_arm64.deb |
Книжный червь 32bit | Нет | libedgetpu1-std_ ... .bookworm_armhf.deb |
Книжный червь 64bit | Нет | libedgetpu1-std_ ... .bookworm_arm64.deb |
Книжный червь 32bit | Да | libedgetpu1-max_ ... .bookworm_armhf.deb |
Книжный червь 64bit | Да | libedgetpu1-max_ ... .bookworm_arm64.deb |
Скачай последнюю версию отсюда.
Скачав файл, ты можешь установить его с помощью следующей команды:
После установки среды исполнения тебе нужно подключить Coral Edge TPU к порту USB 3.0 на твоей Raspberry Pi. Это связано с тем, что, согласно официальному руководству, новый udev
Правило должно вступить в силу после установки.
Важно
Если у тебя уже установлена среда выполнения Coral Edge TPU , удали ее с помощью следующей команды.
Экспортируй свою модель в модель, совместимую с Edge TPU .
Чтобы использовать Edge TPU, тебе нужно преобразовать свою модель в совместимый формат. Рекомендуется запускать export на машине Google Colab, x86_64 Linux, используя официальный контейнерUltralytics Docker, или с помощью Ultralytics HUB, так как компилятор Edge TPU недоступен на ARM. Доступные аргументы смотри в разделе " Режим экспорта ".
Экспорт
Экспортированная модель будет сохранена в <model_name>_saved_model/
папку с именем <model_name>_full_integer_quant_edgetpu.tflite
.
Запуск модели
После того как ты экспортировал свою модель, ты можешь запустить с ней вывод, используя следующий код:
Бег
Полную информацию о режиме предсказания ты найдешь на странице Predict.
Важно
Тебе следует запустить модель, используя tflite-runtime
и не tensorflow
.
Если tensorflow
установлен, удали tensorflow с помощью следующей команды:
Затем установи/обнови tflite-runtime
:
Если ты хочешь tflite-runtime
Колесо для tensorflow
2.15.0 скачать с здесь и установи его с помощью pip
или твой менеджер пакетов на выбор.
ВОПРОСЫ И ОТВЕТЫ
Что такое Coral Edge TPU и как он повышает производительность Raspberry Pi с помощью Ultralytics YOLOv8 ?
Coral Edge TPU - это компактное устройство, предназначенное для добавления в твою систему сопроцессора Edge TPU . Этот сопроцессор обеспечивает маломощный и высокопроизводительный вывод данных машинного обучения, особенно оптимизированный для моделей TensorFlow Lite. При использовании Raspberry Pi Edge TPU ускоряет вывод ML-моделей, значительно повышая производительность, особенно для моделей Ultralytics YOLOv8 . Подробнее о Coral Edge TPU ты можешь прочитать на их домашней странице.
Как установить среду выполнения Coral Edge TPU на Raspberry Pi?
Чтобы установить среду выполнения Coral Edge TPU на свой Raspberry Pi, скачай соответствующий .deb
пакет для твоей версии ОС Raspberry Pi из по этой ссылке. После загрузки используй следующую команду для его установки:
Обязательно удали все предыдущие версии Coral Edge TPU runtime, выполнив шаги, описанные в разделе Installation Walkthrough.
Можно ли экспортировать модель Ultralytics YOLOv8 , чтобы она была совместима с Coral Edge TPU?
Да, ты можешь экспортировать свою Ultralytics YOLOv8 модель, чтобы она была совместима с Coral Edge TPU. Рекомендуется выполнять экспорт на Google Colab, x86_64 Linux-машине или с помощью Ultralytics Docker-контейнера. Ты также можешь использовать для экспорта Ultralytics HUB. Вот как ты можешь экспортировать свою модель, используя Python и CLI:
Экспорт
За дополнительной информацией обращайся к документации по режиму экспорта.
Что делать, если на Raspberry Pi уже установлен TensorFlow , но вместо него я хочу использовать tflite-runtime?
Если у тебя на Raspberry Pi установлен TensorFlow и тебе нужно переключиться на tflite-runtime
Сначала тебе нужно будет удалить TensorFlow :
Затем установи или обнови tflite-runtime
с помощью следующей команды:
Для конкретного колеса, например, TensorFlow 2.15.0. tflite-runtime
Ты можешь скачать его с сайта по этой ссылке и установи его с помощью pip
. Подробные инструкции доступны в разделе о запуске модели Запуск модели.
Как запустить вывод с экспортированной моделью YOLOv8 на Raspberry Pi с помощью Coral Edge TPU?
После экспорта твоей модели YOLOv8 в формат, совместимый с Edge TPU, ты можешь запустить вывод, используя следующие фрагменты кода:
Бег
Исчерпывающую информацию о полных возможностях режима предсказания можно найти на странице Predict.