Как запустить Ultralytics YOLO26 на Raspberry Pi с Coral Edge TPU#
Raspberry Pi — энергоэффективная и доступная платформа для запуска компьютерного зрения на периферии, но локальный инференс работает медленно даже с оптимизированными форматами, такими как ONNX или OpenVINO. Подключение сопроцессора Coral Edge TPU к Pi переносит инференс на специализированное оборудование и значительно ускоряет его. В этом руководстве показано, как установить среду выполнения, экспортировать модель Ultralytics YOLO26 в формат Edge TPU и запустить ускоренный инференс.
Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Зачем использовать Coral Edge TPU?#
Coral Edge TPU — компактное устройство, которое добавляет в систему сопроцессор Edge TPU и обеспечивает энергоэффективный высокопроизводительный ML-инференс для моделей TensorFlow Lite. Это отличный вариант для встраиваемых и мобильных систем, где одного CPU недостаточно:
- Более быстрый инференс — Edge TPU ускоряет квантованные модели значительно сильнее, чем CPU Raspberry Pi самостоятельно.
- Низкое энергопотребление — устройство обеспечивает высокую производительность на ватт и идеально подходит для систем с питанием от аккумулятора или солнечных батарей.
- Подключение без сложной настройки — USB Accelerator подключается через USB 3.0, поэтому дополнительная интеграция оборудования не требуется.
Официальное руководство Coral устарело: исходные сборки среды выполнения Coral больше не работают с актуальными версиями среды выполнения TensorFlow Lite, а проект не обновлялся с 2021 по 2025 год. В этом руководстве используется активно поддерживаемая среда выполнения Edge TPU и последняя версия tflite-runtime, поэтому ускоритель работает в актуальной установке Raspberry Pi OS.
Предварительные требования#
- Raspberry Pi 4B (рекомендуется 2 ГБ или больше) или Raspberry Pi 5 (рекомендуется)
- Raspberry Pi OS Bullseye/Bookworm (64-разрядная версия) с рабочим столом (рекомендуется)
- Coral USB Accelerator
- Платформа без ARM (Google Colab, Linux-машина с архитектурой x86_64 или Docker-контейнер Ultralytics) для экспорта модели, поскольку компилятор Edge TPU недоступен на ARM
Предполагается, что у тебя уже установлена рабочая Raspberry Pi OS с ultralytics и его зависимостями. Если нет, сначала следуй руководству по быстрому старту.
После подготовки всех необходимых компонентов рабочий процесс состоит из трёх шагов: установить среду выполнения Edge TPU на Pi, экспортировать модель на машине без ARM и запустить инференс обратно на Pi.
Установка среды выполнения Edge TPU#
Среда выполнения доступна в нескольких сборках, поэтому выбери вариант, соответствующий твоей операционной системе. Сборка с высокой частотой запускает Edge TPU на более высокой тактовой частоте для повышения производительности, но может вызвать тепловое троттлинг — при её выборе используй какое-либо охлаждение.
| Raspberry Pi OS | Режим высокой частоты | Версия для скачивания |
|---|---|---|
| Bullseye 32-разрядная | Нет | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64-разрядная | Нет | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32-разрядная | Да | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64-разрядная | Да | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32-разрядная | Нет | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64-разрядная | Нет | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32-разрядная | Да | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64-разрядная | Да | libedgetpu1-max_ ... .bookworm_arm64.deb |
Скачай последнюю версию здесь, затем установи пакет .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, преобразуй модель в совместимый формат. Выполни экспорт на платформе без ARM — в Google Colab, на Linux-машине с архитектурой x86_64, в официальном Docker-контейнере Ultralytics или на платформе 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 загрузит его как обычную модель TensorFlow Lite, не обнаружит Edge TPU, и ускоритель не будет использоваться.
Запуск инференса на Edge TPU#
Перед запуском модели установи правильные библиотеки на Raspberry Pi. Если TensorFlow уже установлен, сначала удали его:
pip uninstall tensorflow tensorflow-aarch64Затем установи или обнови tflite-runtime:
pip install -U tflite-runtimeТеперь можно запустить инференс:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")Полное описание режима предсказания приведено на странице Predict.
Если у тебя несколько Edge TPU, ты можешь выбрать конкретный с помощью аргумента device.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_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. Они показывают только время инференса (предварительная и последующая обработка исключены) и служат относительным ориентиром для оценки ускорения, которое Edge TPU обеспечивает на разных моделях Pi и в разных режимах.
Эти тесты выполнены с моделями YOLOv8. Абсолютное время инференса зависит от версии модели и размера изображения, но относительное ускорение между моделями Pi и тактовыми режимами сохраняется.
| Размер изображения | Модель | Время инференса в стандартном режиме (мс) | Время инференса на высокой частоте (мс) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.3 |
В среднем:
- Raspberry Pi 5 на 22% быстрее в стандартном режиме, чем Raspberry Pi 4B.
- Raspberry Pi 5 на 30,2% быстрее в режиме высокой частоты, чем Raspberry Pi 4B.
- Режим высокой частоты на 28,4% быстрее стандартного режима.
Заключение#
Coral Edge TPU превращает Raspberry Pi в производительное энергоэффективное устройство для инференса Ultralytics YOLO26. Экспортируй модель на машине без ARM, сохрани суффикс _edgetpu.tflite и запусти её на Pi с помощью tflite-runtime, чтобы получить ускоренный периферийный инференс. Другие варианты развёртывания смотри в руководстве по Raspberry Pi.
Часто задаваемые вопросы#
Coral Edge TPU — компактное устройство, которое добавляет в систему сопроцессор Edge TPU. Этот сопроцессор обеспечивает энергоэффективный высокопроизводительный ML-инференс и особенно оптимизирован для моделей TensorFlow Lite. На Raspberry Pi он ускоряет инференс значительно сильнее, чем один CPU, что заметно повышает производительность моделей Ultralytics YOLO26.
Скачай подходящий пакет
.debдля своей версии Raspberry Pi OS по этой ссылке, затем установи его:sudo dpkg -i path/to/package.debОбязательно удали все предыдущие версии среды выполнения Coral Edge TPU, следуя инструкциям в разделе Установка среды выполнения Edge TPU.
Да. Выполни экспорт в Google Colab, на Linux-машине с архитектурой x86_64 или в Docker-контейнере Ultralytics; также можно использовать платформу 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 установлен и тебе нужно перейти на
tflite-runtime, сначала удали TensorFlow:pip uninstall tensorflow tensorflow-aarch64Затем установи или обнови
tflite-runtime:pip install -U tflite-runtimeПодробные инструкции смотри в разделе Запуск инференса на Edge TPU.
После экспорта модели YOLO26 в совместимый с Edge TPU формат запусти инференс с помощью следующих фрагментов кода. Файл модели должен сохранить суффикс
_edgetpu.tflite, чтобы Ultralytics загрузил его на Edge TPU:Запуск моделиfrom ultralytics import YOLO # Load a model model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model # Run Prediction model.predict("path/to/source.png")Подробное описание режима предсказания приведено на странице Predict.