Как запустить Ultralytics YOLO26 на Raspberry Pi с Coral Edge TPU#
Raspberry Pi — это энергоэффективная и доступная платформа для запуска компьютерного зрения на периферийных устройствах, но инференс на устройстве работает медленно даже с оптимизированными форматами, такими как ONNX или OpenVINO. Подключение Pi к сопроцессору Coral Edge TPU переносит инференс на специализированное железо и значительно ускоряет его. В этом руководстве показано, как установить среду выполнения, экспортировать модель 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 в твою систему, обеспечивая низкое энергопотребление и высокую производительность машинного обучения при работе с моделями TensorFlow Lite. Оно отлично подходит для встроенных и мобильных систем, где возможностей одного CPU недостаточно:
- Более быстрый вывод — Edge TPU ускоряет квантованные модели намного эффективнее, чем это может сделать CPU Raspberry Pi в одиночку.
- Низкое энергопотребление — обеспечивает высокую пропускную способность на ватт, что идеально для систем с питанием от аккумуляторов или солнечных батарей.
- Plug-and-play — 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, машина на x86_64 Linux или контейнер Ultralytics Docker) для экспорта модели, так как компилятор 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, машине на x86_64 Linux, официальном контейнере Ultralytics Docker или Ultralytics Platform, так как компилятор 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/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")Подробную информацию о режиме предсказаний можно найти на странице Предсказание.
Если у тебя несколько устройств Edge TPU, ты можешь выбрать конкретное с помощью аргумента device.
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-бит и 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 и запусти ее с tflite-runtime на Pi для получения ускоренного инференса на периферии. Дополнительные варианты развертывания см. в руководстве Raspberry Pi.
FAQ#
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, на машине с x86_64 Linux или в контейнере Ultralytics Docker; также можно использовать Ultralytics Platform. Вот как выполнить экспорт с помощью 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/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model # Run Prediction model.predict("path/to/source.png")Подробную информацию о режиме предсказаний можно найти на странице Предсказание.