Как запустить Ultralytics YOLO26 на Raspberry Pi с Coral Edge TPU#
Raspberry Pi — энергоэффективная и доступная платформа для запуска компьютерного зрения на периферийных устройствах, однако локальный инференс работает медленно даже в оптимизированных форматах, таких как ONNX или OpenVINO. Подключение к Pi сопроцессора Coral Edge TPU переносит инференс на специализированное оборудование и значительно ускоряет его. В этом руководстве показано, как установить среду выполнения, экспортировать модель Ultralytics YOLO26 в формат Edge TPU и выполнять ускоренный инференс.
Смотри: Как выполнять инференс на Raspberry Pi с помощью 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
- Платформа Linux x86_64 (Google Colab, компьютер с Linux x86_64 или контейнер Ultralytics Docker на хосте x86_64) для экспорта модели, поскольку компилятор Edge TPU доступен только в Linux x86_64
В этом руководстве предполагается, что у тебя уже установлена и работает Raspberry Pi OS с ultralytics и его зависимостями. Если это не так, сначала следуй краткому руководству.
Когда всё будет готово, выполни три шага: установи среду выполнения Edge TPU на Pi, экспортируй модель на компьютере с Linux x86_64 и запусти инференс на 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, преобразуй модель в совместимый формат. Выполняй экспорт в Linux x86_64 — в Google Colab, на компьютере с Linux x86_64, в официальном контейнере Ultralytics Docker на хосте x86_64 или на платформе Ultralytics, — поскольку компилятор Edge TPU доступен только в Linux x86_64. Доступные аргументы см. в разделе Режим экспорта.
from ultralytics import YOLO
# Загрузить модель
model = YOLO("path/to/model.pt") # Загрузи официальную или пользовательскую модель
# Экспортировать модель
model.export(format="edgetpu")Экспортированная модель сохраняется в папке <model_name>_saved_model/ как <model_name>_full_integer_quant_edgetpu.tflite.
Имя файла должно заканчиваться на _edgetpu.tflite. Если переименовать файл, Ultralytics загрузит его как обычную модель LiteRT (.tflite), не распознает Edge TPU, и ускоритель не будет использоваться.
Запуск инференса на Edge TPU#
Перед запуском модели установи на Raspberry Pi нужные библиотеки. Если TensorFlow уже установлен, сначала удали его:
pip uninstall tensorflow tensorflow-aarch64Затем установи или обнови tflite-runtime:
pip install -U tflite-runtimeТеперь можно запускать инференс:
from ultralytics import YOLO
# Загрузить модель
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Загрузи официальную или пользовательскую модель
# Запусти предсказание
model.predict("path/to/source.png")Подробную информацию о режиме предсказания см. на странице Предсказание.
Если у тебя несколько Edge TPU, можно выбрать конкретное устройство с помощью аргумента device.
from ultralytics import YOLO
# Загрузить модель
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Загрузи официальную или пользовательскую модель
# Запусти предсказание
model.predict("path/to/source.png") # По умолчанию инференс выполняется на первом TPU
model.predict("path/to/source.png", device="tpu:0") # Выбери первый TPU
model.predict("path/to/source.png", device="tpu:1") # Выбери второй 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. Экспортируй модель на компьютере с Linux x86_64, сохрани суффикс _edgetpu.tflite и запусти её на Pi с помощью tflite-runtime, чтобы ускорить инференс на периферийном устройстве. Другие варианты развёртывания см. в руководстве по Raspberry Pi.
Часто задаваемые вопросы#
Coral Edge TPU — компактное устройство, которое добавляет в систему сопроцессор Edge TPU. Этот сопроцессор обеспечивает высокопроизводительный инференс при низком энергопотреблении и особенно хорошо оптимизирован для моделей 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 или в контейнере Ultralytics Docker; также можно воспользоваться платформой Ultralytics. Вот как выполнить экспорт с помощью Python и CLI:
Экспорт моделиfrom ultralytics import YOLO # Загрузить модель model = YOLO("path/to/model.pt") # Загрузи официальную или пользовательскую модель # Экспортировать модель 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 # Загрузить модель model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Загрузи официальную или пользовательскую модель # Запусти предсказание model.predict("path/to/source.png")Подробную информацию о режиме предсказания см. на странице Предсказание.