Ultralytics YOLO27:
Get Started

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

Raspberry Pi with Edge TPU accelerator

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

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

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

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

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

Комментарии