Coral Edge TPU num Raspberry Pi com Ultralytics YOLO26 🚀
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
- Raspberry Pi 4B (2GB ou mais recomendado) ou Raspberry Pi 5 (Recomendado)
- Raspberry Pi OS Bullseye/Bookworm (64-bit) com desktop (Recomendado)
- Coral USB Accelerator
- Uma plataforma baseada em não-ARM para exportar um modelo PyTorch do Ultralytics
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 OS | Modo de alta frequência | Versão para download |
|---|---|---|
| Bullseye 32bit | Não | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64bit | Não | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32bit | Sim | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64bit | Sim | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32bit | Não | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64bit | Não | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32bit | Sim | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64bit | Sim | libedgetpu1-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.debApó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-maxExportar 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.
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-aarch64Em seguida, instale ou atualize o tflite-runtime:
pip install -U tflite-runtimeAgora você pode executar a inferência usando o seguinte código:
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.
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 TPUBenchmarks
Testado com Raspberry Pi OS Bookworm 64-bit e um Coral Edge TPU USB.
O que é mostrado é o tempo de inferência, o pré/pós-processamento não está incluído.
| Tamanho da imagem | Modelo | Tempo de inferência padrão (ms) | Tempo de inferência de alta frequência (ms) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.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.debCertifique-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:
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-aarch64Em seguida, instale ou atualize o tflite-runtime com o seguinte comando:
pip install -U tflite-runtimePara 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:
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.