Coral Edge TPU на Raspberry Pi с Ultralytics YOLO26 🚀

Raspberry Pi with Edge TPU accelerator

Что такое Coral Edge TPU?

Coral Edge TPU — это компактное устройство, которое добавляет в твою систему сопроцессор Edge TPU. Оно обеспечивает высокопроизводительный вывод моделей машинного обучения с низким энергопотреблением для TensorFlow Lite. Подробнее читай на домашней странице Coral Edge TPU.



Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

Повысь производительность Raspberry Pi с помощью Coral Edge TPU

Многие хотят запускать свои модели на встроенных или мобильных устройствах, таких как Raspberry Pi, поскольку они очень энергоэффективны и могут использоваться в самых разных приложениях. Однако производительность вывода на этих устройствах обычно низкая, даже при использовании таких форматов, как ONNX или OpenVINO. Coral Edge TPU — отличное решение этой проблемы, так как его можно использовать с Raspberry Pi для значительного ускорения производительности вывода.

Edge TPU на Raspberry Pi с TensorFlow Lite (Новое)⭐

Существующее руководство от Coral по использованию Edge TPU с Raspberry Pi устарело, и текущие сборки среды выполнения Coral Edge TPU больше не работают с актуальными версиями среды выполнения TensorFlow Lite. Кроме того, похоже, что Google полностью забросила проект Coral, и в период с 2021 по 2025 годы обновлений не было. В этом руководстве ты узнаешь, как заставить Edge TPU работать с последними версиями среды выполнения TensorFlow Lite и обновленной средой выполнения Coral Edge TPU на одноплатном компьютере (SBC) Raspberry Pi.

Предварительные требования

Пошаговое руководство по установке

Это руководство предполагает, что у тебя уже установлена Raspberry Pi OS, а также ultralytics и все зависимости. Чтобы установить ultralytics, посети руководство по быстрому старту и настрой все перед тем, как продолжить.

Установка среды выполнения Edge TPU

Сначала нам нужно установить среду выполнения Edge TPU. Доступно много разных версий, поэтому тебе нужно выбрать правильную для твоей операционной системы. Версия с высокой частотой запускает 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
Bookworm 32bitНетlibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64bitНетlibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32bitДаlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 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, так как компилятор 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")

Экспортированная модель будет сохранена в папке <model_name>_saved_model/ под именем <model_name>_full_integer_quant_edgetpu.tflite. Убедись, что имя файла заканчивается суффиксом _edgetpu.tflite; в противном случае Ultralytics не определит, что ты используешь модель Edge TPU.

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

Прежде чем ты сможешь запустить модель, тебе нужно установить правильные библиотеки.

Если у тебя уже установлен TensorFlow, удали его с помощью следующей команды:

pip uninstall tensorflow tensorflow-aarch64

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

pip install -U tflite-runtime

Теперь ты можешь запустить вывод с помощью следующего кода:

Запуск модели
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")

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

Вывод с несколькими Edge TPU

Если у тебя несколько Edge TPU, ты можешь использовать следующий код, чтобы выбрать конкретный 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

Бенчмарки

Бенчмарки

Проверено на Raspberry Pi OS Bookworm 64-bit и USB Coral Edge TPU.

Примечание

Показано время вывода, предварительная и последующая обработка не включены.

Размер изображенияМодельСтандартное время вывода (мс)Время вывода на высокой частоте (мс)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.3

В среднем:

  • Raspberry Pi 5 на 22% быстрее в стандартном режиме, чем Raspberry Pi 4B.
  • Raspberry Pi 5 на 30.2% быстрее в высокочастотном режиме, чем Raspberry Pi 4B.
  • Высокочастотный режим на 28.4% быстрее стандартного режима.

Часто задаваемые вопросы (FAQ)

Что такое Coral Edge TPU и как он улучшает производительность Raspberry Pi с Ultralytics YOLO26?

Coral Edge TPU — это компактное устройство, предназначенное для добавления сопроцессора Edge TPU в твою систему. Этот сопроцессор обеспечивает низкоэнергетический, высокопроизводительный вывод машинного обучения, особенно оптимизированный для моделей TensorFlow Lite. При использовании с Raspberry Pi, Edge TPU ускоряет вывод моделей машинного обучения, значительно повышая производительность, особенно для моделей Ultralytics YOLO26. Ты можешь подробнее прочитать о Coral Edge TPU на их домашней странице.

Как установить среду выполнения Coral Edge TPU на Raspberry Pi?

Чтобы установить среду выполнения Coral Edge TPU на свою Raspberry Pi, скачай подходящий пакет .deb для твоей версии Raspberry Pi OS по этой ссылке. После скачивания используй следующую команду для установки:

sudo dpkg -i path/to/package.deb

Убедись, что удалил все предыдущие версии среды выполнения Coral Edge TPU, следуя инструкциям в разделе Пошаговое руководство по установке.

Могу ли я экспортировать свою модель Ultralytics YOLO26 для совместимости с Coral Edge TPU?

Да, ты можешь экспортировать свою модель Ultralytics YOLO26 для совместимости с Coral Edge TPU. Рекомендуется выполнять экспорт в Google Colab, на машине с Linux x86_64 или используя контейнер Ultralytics Docker. Ты также можешь использовать платформу Ultralytics для экспорта. Вот как ты можешь экспортировать свою модель с помощью Python и CLI:

Экспорт модели
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")

Для получения дополнительной информации обратись к документации Режим экспорта.

Что делать, если TensorFlow уже установлен на Raspberry Pi, но я хочу использовать tflite-runtime?

Если у тебя установлен TensorFlow на Raspberry Pi и тебе нужно переключиться на tflite-runtime, сначала удали TensorFlow, используя:

pip uninstall tensorflow tensorflow-aarch64

Затем установи или обнови tflite-runtime с помощью следующей команды:

pip install -U tflite-runtime

Для подробных инструкций обратись к разделу Запуск модели.

Как запустить вывод с экспортированной моделью YOLO26 на Raspberry Pi с помощью Coral Edge TPU?

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

Запуск модели
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")

Подробную информацию о возможностях режима предсказания можно найти на странице Predict.

Комментарии