Coral Edge TPU num Raspberry Pi com Ultralytics YOLOv8 🚀
O que é um Coral Edge TPU?
O Coral Edge TPU é um dispositivo compacto que adiciona um coprocessador Edge TPU ao teu sistema. Permite a inferência ML de baixo consumo e alto desempenho para modelos TensorFlow Lite. Lê mais na página inicial do Coral Edge TPU .
Melhora o desempenho do modelo Raspberry Pi com Coral Edge TPU
Muitas pessoas querem executar os seus modelos num dispositivo incorporado ou móvel, como um Raspberry Pi, uma vez que são muito eficientes em termos energéticos e podem ser utilizados em muitas aplicações diferentes. No entanto, o desempenho da inferência nestes dispositivos é geralmente fraco, mesmo quando se utilizam formatos como onnx ou openvino. O Coral Edge TPU é uma óptima solução para este problema, uma vez que pode ser usado com um Raspberry Pi e acelerar bastante 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 atuais compilações de tempo de execução do Coral Edge TPU não funcionam mais com as atuais versões de tempo de execução do TensorFlow Lite. Para além disso, a Google parece ter abandonado completamente o projeto Coral, e não houve quaisquer actualizações entre 2021 e 2024. Este guia irá mostrar-te como colocar o Edge TPU a funcionar com as versões mais recentes do runtime TensorFlow Lite e um runtime Coral Edge TPU atualizado num computador de placa única (SBC) Raspberry Pi.
Pré-requisitos
- Raspberry Pi 4B (recomenda-se 2 GB ou mais) ou Raspberry Pi 5 (recomendado)
- Raspberry Pi OS Bullseye/Bookworm (64-bit) com ambiente de trabalho (Recomendado)
- Acelerador USB Coral
- Uma plataforma não baseada em ARM para exportar um modelo Ultralytics PyTorch
Guia de instalação
Este guia assume que já tens uma instalação do Raspberry Pi OS a funcionar e que já instalaste ultralytics
e todas as dependências. Para obteres ultralytics
instalado, visita a página guia de início rápido para te preparares antes de continuares.
Instalando o tempo de execução do Edge TPU
Primeiro, precisas de instalar o tempo de execução do Edge TPU . Existem muitas versões diferentes disponíveis, pelo que tens de escolher a versão correcta para o teu sistema operativo.
Raspberry Pi OS | Modo de alta frequência | Versão para descarregar |
---|---|---|
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 |
Verme do livro 32bit | Não | libedgetpu1-std_ ... .bookworm_armhf.deb |
Verme dos livros 64bit | Não | libedgetpu1-std_ ... .bookworm_arm64.deb |
Verme do livro 32bit | Sim | libedgetpu1-max_ ... .bookworm_armhf.deb |
Verme dos livros 64bit | Sim | libedgetpu1-max_ ... .bookworm_arm64.deb |
Descarrega a versão mais recente a partir daqui.
Depois de transferires o ficheiro, podes instalá-lo com o seguinte comando:
Depois de instalares o runtime, tens de ligar o teu Coral Edge TPU a uma porta USB 3.0 do teu Raspberry Pi. Isto porque, de acordo com o guia oficial, um novo udev
A regra tem de entrar em vigor após a instalação.
Importante
Se já tiveres o tempo de execução do Coral Edge TPU instalado, desinstala-o utilizando o seguinte comando.
Exporta o teu modelo para um modelo compatível com o Edge TPU
Para utilizar o Edge TPU, tens de converter o teu modelo para um formato compatível. Recomenda-se que executes a exportação no Google Colab, numa máquina Linux x86_64, utilizando o contentor Docker oficial Ultralytics , ou utilizando o Ultralytics HUB, uma vez que o compilador Edge TPU não está disponível em ARM. Vê o Modo de exportação para os argumentos disponíveis.
Exportação
O modelo exportado será guardado no ficheiro <model_name>_saved_model/
pasta com o nome <model_name>_full_integer_quant_edgetpu.tflite
.
Executa o modelo
Depois de exportar o teu modelo, podes executar a inferência com ele utilizando o seguinte código:
Corre
Encontra informações completas na página Prever para obteres todos os detalhes do modo de previsão.
Importante
Deves executar o modelo utilizando tflite-runtime
e não tensorflow
.
Se tensorflow
estiver instalado, desinstala o tensorflow com o seguinte comando:
Depois instala/atualiza tflite-runtime
:
Se quiseres um tflite-runtime
roda para tensorflow
2.15.0 transfere-o a partir de aqui e instala-o utilizando pip
ou o teu gestor de pacotes preferido.