Coral Edge TPU num Raspberry Pi com Ultralytics YOLO26 🚀

Raspberry Pi with Edge TPU accelerator

O que é um Coral Edge TPU?

O Coral Edge TPU é um dispositivo compacto que adiciona um coprocessador Edge TPU ao seu sistema. Ele possibilita inferência de ML de alto desempenho e baixo consumo para modelos TensorFlow Lite. Leia mais na página inicial do Coral Edge TPU.



Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

Aumente o desempenho do Raspberry Pi com o Coral Edge TPU

Muitas pessoas querem executar seus modelos em um dispositivo móvel ou embarcado, como um Raspberry Pi, uma vez que eles são muito eficientes em termos de energia e podem ser usados em muitas aplicações diferentes. No entanto, o desempenho de inferência nesses dispositivos é geralmente ruim, mesmo ao usar formatos como ONNX ou OpenVINO. O Coral Edge TPU é uma ótima solução para esse problema, já que pode ser usado com um Raspberry Pi e acelerar muito o desempenho da inferência.

Edge TPU no Raspberry Pi com TensorFlow Lite (Novo)⭐

O guia existente do Coral sobre como usar o Edge TPU com um Raspberry Pi está desatualizado, e as compilações atuais do runtime do Coral Edge TPU não funcionam mais com as versões atuais do runtime do TensorFlow Lite. Além disso, o Google parece ter abandonado completamente o projeto Coral, e não houve nenhuma atualização entre 2021 e 2025. Este guia mostrará como fazer o Edge TPU funcionar com as versões mais recentes do runtime do TensorFlow Lite e um runtime do Coral Edge TPU atualizado em um Raspberry Pi single board computer (SBC).

Pré-requisitos

Passo a passo da instalação

Este guia pressupõe que você já tenha uma instalação funcional do Raspberry Pi OS e tenha instalado o ultralytics e todas as dependências. Para instalar o ultralytics, visite o guia de início rápido para configurar antes de continuar aqui.

Instalando o runtime do Edge TPU

Primeiro, precisamos instalar o runtime do Edge TPU. Existem muitas versões diferentes disponíveis, portanto você precisa escolher a versão correta para o seu sistema operacional. A versão de alta frequência executa o Edge TPU a uma velocidade de clock maior, o que melhora o desempenho. No entanto, isso pode resultar em estrangulamento térmico do Edge TPU, por isso é recomendado ter algum tipo de mecanismo de resfriamento instalado.

Raspberry Pi OSModo de alta frequênciaVersão para download
Bullseye 32bitNãolibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64bitNãolibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32bitSimlibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64bitSimlibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32bitNãolibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64bitNãolibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32bitSimlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64bitSimlibedgetpu1-max_ ... .bookworm_arm64.deb

Baixe a versão mais recente aqui.

Após baixar o arquivo, você pode instalá-lo com o seguinte comando:

sudo dpkg -i path/to/package.deb

Após instalar o runtime, conecte seu Coral Edge TPU a uma porta USB 3.0 no Raspberry Pi para que a nova regra udev possa entrar em vigor.

Importante

Se você já tiver o runtime do Coral Edge TPU instalado, desinstale-o usando o seguinte comando.

# If you installed the standard version
sudo apt remove libedgetpu1-std

# If you installed the high-frequency version
sudo apt remove libedgetpu1-max

Exportar para Edge TPU

Para usar o Edge TPU, você precisa converter seu modelo em um formato compatível. É recomendado executar a exportação no Google Colab, em uma máquina Linux x86_64, usando o container Docker do Ultralytics oficial ou usando a Plataforma Ultralytics, uma vez que o compilador Edge TPU não está disponível em ARM. Consulte o Modo de Exportação para os argumentos disponíveis.

Exportando o modelo
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")

O modelo exportado será salvo na pasta <model_name>_saved_model/ com o nome <model_name>_full_integer_quant_edgetpu.tflite. Certifique-se de que o nome do arquivo termine com o sufixo _edgetpu.tflite; caso contrário, o Ultralytics não detectará que você está usando um modelo Edge TPU.

Executando o modelo

Antes de poder realmente executar o modelo, você precisará instalar as bibliotecas corretas.

Se você já tem o TensorFlow instalado, desinstale-o com o seguinte comando:

pip uninstall tensorflow tensorflow-aarch64

Em seguida, instale ou atualize o tflite-runtime:

pip install -U tflite-runtime

Agora você pode executar a inferência usando o seguinte código:

Executando o modelo
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")

Encontre informações abrangentes na página Previsão para obter detalhes completos sobre o modo de previsão.

Inferência com múltiplos Edge TPUs

Se você tiver vários Edge TPUs, pode usar o seguinte código para selecionar um TPU específico.

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

Benchmarks

Benchmarks

Testado com Raspberry Pi OS Bookworm 64-bit e um Coral Edge TPU USB.

Nota

O que é mostrado é o tempo de inferência, o pré/pós-processamento não está incluído.

Tamanho da imagemModeloTempo de inferência padrão (ms)Tempo de inferência de alta frequência (ms)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.3

Em média:

  • O Raspberry Pi 5 é 22% mais rápido com o modo padrão do que o Raspberry Pi 4B.
  • O Raspberry Pi 5 é 30.2% mais rápido com o modo de alta frequência do que o Raspberry Pi 4B.
  • O modo de alta frequência é 28.4% mais rápido que o modo padrão.

FAQ

O que é um Coral Edge TPU e como ele melhora o desempenho do Raspberry Pi com o Ultralytics YOLO26?

O Coral Edge TPU é um dispositivo compacto projetado para adicionar um coprocessador Edge TPU ao seu sistema. Esse coprocessador possibilita inferência de machine learning de baixo consumo e alto desempenho, otimizado particularmente para modelos TensorFlow Lite. Ao usar um Raspberry Pi, o Edge TPU acelera a inferência do modelo de ML, aumentando significativamente o desempenho, especialmente para modelos Ultralytics YOLO26. Você pode ler mais sobre o Coral Edge TPU em sua página inicial.

Como instalo o runtime do Coral Edge TPU no Raspberry Pi?

Para instalar o runtime do Coral Edge TPU no seu Raspberry Pi, baixe o pacote .deb apropriado para a sua versão do Raspberry Pi OS neste link. Após baixar, use o seguinte comando para instalá-lo:

sudo dpkg -i path/to/package.deb

Certifique-se de desinstalar quaisquer versões anteriores do runtime do Coral Edge TPU seguindo as etapas descritas na seção Passo a passo da instalação.

Posso exportar meu modelo Ultralytics YOLO26 para ser compatível com o Coral Edge TPU?

Sim, você pode exportar seu modelo Ultralytics YOLO26 para ser compatível com o Coral Edge TPU. É recomendado realizar a exportação no Google Colab, em uma máquina Linux x86_64 ou usando o container Docker do Ultralytics. Você também pode usar a Plataforma Ultralytics para exportar. Veja como você pode exportar seu modelo usando Python e CLI:

Exportando o modelo
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")

Para mais informações, consulte a documentação do Modo de Exportação.

O que devo fazer se o TensorFlow já estiver instalado no meu Raspberry Pi, mas eu quiser usar o tflite-runtime?

Se você tem o TensorFlow instalado no seu Raspberry Pi e precisa mudar para o tflite-runtime, primeiro precisará desinstalar o TensorFlow usando:

pip uninstall tensorflow tensorflow-aarch64

Em seguida, instale ou atualize o tflite-runtime com o seguinte comando:

pip install -U tflite-runtime

Para instruções detalhadas, consulte a seção Executando o Modelo.

Como executo a inferência com um modelo YOLO26 exportado em um Raspberry Pi usando o Coral Edge TPU?

Após exportar seu modelo YOLO26 para um formato compatível com Edge TPU, você pode executar a inferência usando os seguintes trechos de código:

Executando o modelo
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/edgetpu_model.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")

Detalhes abrangentes sobre os recursos do modo de previsão completo podem ser encontrados na Página de Previsão.

Comentários