Coral Edge TPU на Raspberry Pi с Ultralytics YOLO11 🚀.
Что такое коралловый край TPU?
Coral Edge TPU - это компактное устройство, которое добавляет в вашу систему сопроцессор Edge TPU . Он обеспечивает низкое энергопотребление и высокую производительность ML-интерференции для TensorFlow Lite-моделей. Подробнее на домашней странице Coral Edge TPU .
Смотреть: Как запустить вывод на Raspberry Pi с помощью Google 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. Кроме того, 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) с рабочим столом (рекомендуется)
- Ускоритель Coral USB
- Платформа на базе неARM для экспорта Ultralytics PyTorch модель
Инструкция по установке
В этом руководстве предполагается, что у вас уже есть работающая ОС Raspberry Pi и вы установили ultralytics
и всех зависимостей. Чтобы получить ultralytics
установлен, посетите краткое руководство по эксплуатации чтобы выполнить настройку, прежде чем продолжить работу.
Установка среды выполнения Edge TPU
Сначала нам нужно установить среду выполнения Edge TPU . Существует множество различных версий, поэтому вам нужно выбрать подходящую версию для вашей операционной системы.
Raspberry Pi OS | Высокочастотный режим | Версия для загрузки |
---|---|---|
Bullseye 32bit | Нет | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | Нет | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | Да | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 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, необходимо преобразовать модель в совместимый формат. Рекомендуется запускать экспорт на машине Google Colab, x86_64 Linux, используя официальный контейнерUltralytics Docker, или с помощью Ultralytics HUB, поскольку компилятор Edge TPU недоступен на ARM. Доступные аргументы см. в разделе Режим экспорта.
Экспорт модели
Экспортированная модель будет сохранена в папке <model_name>_saved_model/
папка с именем <model_name>_full_integer_quant_edgetpu.tflite
. Важно, чтобы ваша модель заканчивалась суффиксом _edgetpu.tflite
В противном случае ultralytics не будет знать, что вы используете модель Edge TPU .
Запуск модели
Прежде чем запускать модель, необходимо установить нужные библиотеки.
Если tensorflow
установлен, удалите tensorflow с помощью следующей команды:
Затем установите/обновите tflite-runtime
:
Теперь вы можете запустить вывод с помощью следующего кода:
Запуск модели
Полную информацию о режиме прогнозирования можно найти на странице "Прогнозирование".
Выводы с использованием нескольких Edge TPU
Если у вас несколько ТПУ Edge, вы можете использовать следующий код для выбора конкретного TPU.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png") # Inference defaults to the first TPU
model.predict("path/to/source.png", device="tpu:0") # Select the first TPU
model.predict("path/to/source.png", device="tpu:1") # Select the second TPU
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое Coral Edge TPU и как он повышает производительность Raspberry Pi с помощью Ultralytics YOLO11 ?
Coral Edge TPU - это компактное устройство, предназначенное для добавления сопроцессора Edge TPU в вашу систему. Этот сопроцессор обеспечивает малое энергопотребление и высокую производительность машинного обучения, особенно оптимизированную для моделей TensorFlow Lite. При использовании Raspberry Pi Edge TPU ускоряет вывод ML-моделей, значительно повышая производительность, особенно для моделей Ultralytics YOLO11 . Подробнее о Coral Edge TPU можно прочитать на их домашней странице.
Как установить среду выполнения Coral Edge TPU на Raspberry Pi?
Чтобы установить среду выполнения Coral Edge TPU на Raspberry Pi, загрузите соответствующий файл .deb
пакет для вашей версии ОС Raspberry Pi из эта ссылка. После загрузки выполните следующую команду для его установки:
Убедитесь, что вы удалили все предыдущие версии Coral Edge TPU , выполнив шаги, описанные в разделе Installation Walkthrough.
Можно ли экспортировать модель Ultralytics YOLO11 для совместимости с Coral Edge TPU?
Да, вы можете экспортировать свою Ultralytics YOLO11 модель для совместимости с Coral Edge TPU. Рекомендуется выполнять экспорт на Google Colab, Linux-машине x86_64 или с помощью контейнера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
. Подробные инструкции приведены в разделе, посвященном запуску модели Запуск модели.
Как запустить вывод с экспортированной моделью YOLO11 на Raspberry Pi с помощью Coral Edge TPU?
После экспорта модели YOLO11 в формат, совместимый с Edge TPU, вы можете запустить вывод с помощью следующих фрагментов кода:
Запуск модели
Подробную информацию о всех возможностях режима прогнозирования можно найти на странице Predict.