Coral Edge TPU su un Raspberry Pi con Ultralytics YOLOv8 🚀
Che cos'è il Coral Edge TPU?
Coral Edge TPU è un dispositivo compatto che aggiunge un coprocessore Edge TPU al tuo sistema. Consente un'inferenza ML a basso consumo e ad alte prestazioni per i modelli TensorFlow Lite. Per saperne di più visita la home page di Coral Edge TPU .
Guarda: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Aumenta le prestazioni del modello Raspberry Pi con Coral Edge TPU
Molti desiderano eseguire i propri modelli su un dispositivo embedded o mobile come un Raspberry Pi, poiché sono molto efficienti dal punto di vista energetico e possono essere utilizzati in molte applicazioni diverse. Tuttavia, le prestazioni dell'inferenza su questi dispositivi sono solitamente scarse anche quando si utilizzano formati come onnx o openvino. Coral Edge TPU è un'ottima soluzione a questo problema, poiché può essere utilizzato con un Raspberry Pi e accelerare notevolmente le prestazioni di inferenza.
Edge TPU su Raspberry Pi con TensorFlow Lite (Nuovo)⭐
La guida esistente di Coral su come utilizzare Edge TPU con un Raspberry Pi è obsoleta e le attuali build del runtime Coral Edge TPU non funzionano più con le attuali versioni del runtime TensorFlow Lite. Inoltre, Google sembra aver abbandonato completamente il progetto Coral e non ci sono stati aggiornamenti tra il 2021 e il 2024. Questa guida ti mostrerà come far funzionare Edge TPU con le ultime versioni del runtime TensorFlow Lite e un runtime Coral Edge TPU aggiornato su un single board computer (SBC) Raspberry Pi.
Prerequisiti
- Raspberry Pi 4B (consigliato 2GB o più) o Raspberry Pi 5 (consigliato)
- Raspberry Pi OS Bullseye/Bookworm (64 bit) con desktop (consigliato)
- Acceleratore USB Coral
- Una piattaforma non basata su ARM per esportare un modello Ultralytics PyTorch
Guida all'installazione
Questa guida presuppone che tu abbia già installato un sistema operativo Raspberry Pi funzionante e che tu abbia installato ultralytics
e tutte le dipendenze. Per ottenere ultralytics
installata, visita la pagina guida rapida per configurarlo prima di continuare qui.
Installazione del runtime Edge TPU
Per prima cosa, dobbiamo installare il runtime Edge TPU . Esistono diverse versioni disponibili, quindi devi scegliere quella giusta per il tuo sistema operativo.
Sistema operativo Raspberry Pi | Modalità ad alta frequenza | Versione da scaricare |
---|---|---|
Bullseye 32bit | No | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | No | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | Sì | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64bit | Sì | libedgetpu1-max_ ... .bullseye_arm64.deb |
Bookworm 32bit | No | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bookworm 64bit | No | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bookworm 32bit | Sì | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bookworm 64bit | Sì | libedgetpu1-max_ ... .bookworm_arm64.deb |
Scarica l'ultima versione da qui.
Dopo aver scaricato il file, puoi installarlo con il seguente comando:
Dopo aver installato il runtime, devi collegare Coral Edge TPU a una porta USB 3.0 del tuo Raspberry Pi. Questo perché, secondo la guida ufficiale, una nuova porta udev
La regola deve entrare in vigore dopo l'installazione.
Importante
Se hai già installato il runtime Coral Edge TPU , disinstallalo usando il seguente comando.
Esporta il tuo modello in un modello compatibile con Edge TPU
Per utilizzare Edge TPU, devi convertire il tuo modello in un formato compatibile. Si consiglia di eseguire l'esportazione su Google Colab, su un computer Linux x86_64, utilizzando il contenitore Docker ufficiale Ultralytics o utilizzando Ultralytics HUB, poiché il compilatore Edge TPU non è disponibile su ARM. Vedi la Modalità di esportazione per gli argomenti disponibili.
Esportazione
Il modello esportato verrà salvato nella cartella <model_name>_saved_model/
con il nome di <model_name>_full_integer_quant_edgetpu.tflite
.
Esecuzione del modello
Dopo aver esportato il tuo modello, puoi eseguire l'inferenza con esso utilizzando il seguente codice:
In corsa
Per informazioni complete sulla modalità di previsione, consulta la pagina Predict.
Importante
Dovresti eseguire il modello utilizzando tflite-runtime
e non tensorflow
.
Se tensorflow
è installato, disinstalla tensorflow con il seguente comando:
Quindi installa/aggiorna tflite-runtime
:
Se vuoi un tflite-runtime
ruota per tensorflow
2.15.0 scaricalo da qui e installarlo utilizzando pip
o il tuo gestore di pacchetti preferito.
DOMANDE FREQUENTI
Cos'è Coral Edge TPU e come migliora le prestazioni di Raspberry Pi con Ultralytics YOLOv8 ?
Coral Edge TPU è un dispositivo compatto progettato per aggiungere un coprocessore Edge TPU al tuo sistema. Questo coprocessore consente un'inferenza di apprendimento automatico a basso consumo e ad alte prestazioni, particolarmente ottimizzata per i modelli TensorFlow Lite. Quando si utilizza un Raspberry Pi, il coprocessore Edge TPU accelera l'inferenza dei modelli ML, aumentando significativamente le prestazioni, soprattutto per i modelli Ultralytics YOLOv8 . Per saperne di più su Coral Edge TPU puoi consultare la sua home page.
Come si installa il runtime Coral Edge TPU su un Raspberry Pi?
Per installare il runtime Coral Edge TPU sul tuo Raspberry Pi, scarica l'apposito file .deb
per la tua versione del sistema operativo Raspberry Pi da questo link. Una volta scaricato, usa il seguente comando per installarlo:
Assicurati di disinstallare tutte le versioni precedenti del runtime Coral Edge TPU seguendo la procedura descritta nella sezione Guida all'installazione.
Posso esportare il mio modello Ultralytics YOLOv8 per renderlo compatibile con Coral Edge TPU?
Sì, puoi esportare il tuo modello Ultralytics YOLOv8 per renderlo compatibile con Coral Edge TPU. Si consiglia di eseguire l'esportazione su Google Colab, un computer Linux x86_64 o utilizzando il contenitore Docker Ultralytics . Puoi anche utilizzare Ultralytics HUB per l'esportazione. Ecco come esportare il tuo modello utilizzando Python e CLI:
Esportazione
Per maggiori informazioni, consulta la documentazione sulla modalità di esportazione.
Cosa devo fare se TensorFlow è già installato sul mio Raspberry Pi ma voglio usare tflite-runtime?
Se hai installato TensorFlow sul tuo Raspberry Pi e hai bisogno di passare a tflite-runtime
Per prima cosa dovrai disinstallare TensorFlow :
Quindi, installa o aggiorna tflite-runtime
con il seguente comando:
Per una ruota specifica, ad esempio TensorFlow 2.15.0 tflite-runtime
puoi scaricarlo da questo link e installarlo utilizzando pip
. Istruzioni dettagliate sono disponibili nella sezione dedicata all'esecuzione del modello. Esecuzione del modello.
Come posso eseguire l'inferenza con un modello YOLOv8 esportato su un Raspberry Pi utilizzando Coral Edge TPU?
Dopo aver esportato il tuo modello YOLOv8 in un formato compatibile con Edge TPU, puoi eseguire l'inferenza utilizzando i seguenti frammenti di codice:
In corsa
I dettagli completi sulle caratteristiche della modalità di previsione sono disponibili nella pagina Predict.