Ultralytics YOLO27:

Как запустить Ultralytics YOLO26 на Raspberry Pi с Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

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, поэтому дополнительная интеграция оборудования не требуется.
Обновлённая среда выполнения для актуального TensorFlow Lite

Официальное руководство 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`

Имя файла должно заканчиваться на _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

Если у тебя несколько 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 и тактовыми режимами сохраняется.

Размер изображенияМодельВремя инференса в стандартном режиме (мс)Время инференса на высокой частоте (мс)
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% быстрее стандартного режима.

Заключение#

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.

Комментарии