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

Coral Edge TPU на Raspberry Pi с Ultralytics YOLOv8 🚀.

Одноплатный компьютер Raspberry Pi с ускорителем USB Edge TPU

Что такое коралловый край 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 и ты установил 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

Скачай последнюю версию отсюда.

Скачав файл, ты можешь установить его с помощью следующей команды:

sudo dpkg -i path/to/package.deb

После установки среды исполнения тебе нужно подключить Coral Edge TPU к порту USB 3.0 на твоей Raspberry Pi. Это связано с тем, что, согласно официальному руководству, новый udev Правило должно вступить в силу после установки.

Важно

Если у тебя уже установлена среда выполнения Coral Edge TPU , удали ее с помощью следующей команды.

# If you installed the standard version
sudo apt remove libedgetpu1-std 

# If you installed the high frequency version
sudo apt remove libedgetpu1-max 

Экспортируй свою модель в модель, совместимую с Edge TPU .

Чтобы использовать Edge TPU, тебе нужно преобразовать свою модель в совместимый формат. Рекомендуется запускать экспорт на Google Colab, Linux-машине x86_64, используя официальный контейнерUltralytics Docker, или с помощью Ultralytics HUB, так как компилятор Edge TPU недоступен на ARM. Доступные аргументы смотри в разделе " Режим экспорта ".

Экспорт

from ultralytics import YOLO

# Load a model
model = YOLO('path/to/model.pt')  # Load an official model or custom model

# Export the model
model.export(format='edgetpu')
yolo export model=path/to/model.pt format=edgetpu  # Export an official model or custom model

Экспортированная модель будет сохранена в <model_name>_saved_model/ папку с именем <model_name>_full_integer_quant_edgetpu.tflite.

Запуск модели

После того как ты экспортировал свою модель, ты можешь запустить с ней вывод, используя следующий код:

Бег

from ultralytics import YOLO

# Load a model
model = YOLO('path/to/edgetpu_model.tflite')  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png  # Load an official model or custom model

Полную информацию о режиме предсказания ты найдешь на странице Predict.

Важно

Тебе следует запустить модель, используя tflite-runtime и не tensorflow. Если tensorflow установлен, удали tensorflow с помощью следующей команды:

pip uninstall tensorflow tensorflow-aarch64

Затем установи/обнови tflite-runtime:

pip install -U tflite-runtime

Если ты хочешь tflite-runtime Колесо для tensorflow 2.15.0 скачать с здесь и установи его с помощью pip или твой менеджер пакетов на выбор.



Создано 2024-02-12, Обновлено 2024-04-27
Авторы: glenn-jocher (3), Skillnoob (1)

Комментарии