Come eseguire Ultralytics YOLO26 su un Raspberry Pi con un Coral Edge TPU#
Un Raspberry Pi è una piattaforma conveniente ed efficiente dal punto di vista energetico per eseguire la computer vision all'edge, ma l'inferenza sul dispositivo è lenta anche con formati ottimizzati come ONNX o OpenVINO. Collegando il Pi a un coprocessore Coral Edge TPU, l'inferenza viene demandata a un hardware dedicato e la velocità aumenta notevolmente. Questa guida ti mostra come installare il runtime, esportare un modello Ultralytics YOLO26 nel formato Edge TPU ed eseguire l'inferenza accelerata.
Guarda: Come eseguire inferenze su Raspberry Pi usando Google Coral Edge TPU
Perché usare un Coral Edge TPU?#
Coral Edge TPU è un dispositivo compatto che aggiunge al sistema un coprocessore Edge TPU, consentendo l'inferenza ML a basso consumo e alte prestazioni per i modelli TensorFlow Lite. È ideale per le distribuzioni embedded e mobili, in cui una CPU da sola non è sufficiente:
- Inferenza più veloce — Edge TPU accelera i modelli quantizzati molto più di quanto riesca a fare da solo il processore del Raspberry Pi.
- Basso consumo energetico — offre un throughput elevato per watt ed è ideale per le distribuzioni alimentate a batteria o a energia solare.
- Plug-and-play — USB Accelerator si collega tramite USB 3.0, quindi non è necessaria alcuna integrazione hardware aggiuntiva.
La guida ufficiale di Coral è obsoleta: le build del runtime originale di Coral non funzionano più con le versioni attuali del runtime TensorFlow Lite e il progetto non ha ricevuto aggiornamenti tra il 2021 e il 2025. Questa guida utilizza un runtime Edge TPU mantenuto attivamente e l'ultima versione di tflite-runtime, così l'acceleratore funziona con un'installazione aggiornata di Raspberry Pi OS.
Prerequisiti#
- Raspberry Pi 4B (consigliati 2 GB o più) oppure Raspberry Pi 5 (consigliato)
- Raspberry Pi OS Bullseye/Bookworm (64 bit) con desktop (consigliato)
- Coral USB Accelerator
- Una piattaforma Linux x86_64 (Google Colab, una macchina Linux x86_64 o il contenitore Docker di Ultralytics su un host x86_64) per esportare il modello, poiché il compilatore Edge TPU è disponibile solo su Linux x86_64
Questa guida presuppone che tu abbia già un'installazione funzionante di Raspberry Pi OS con ultralytics e le relative dipendenze installate. In caso contrario, segui prima la guida rapida.
Con i prerequisiti pronti, il flusso di lavoro prevede tre passaggi: installare il runtime Edge TPU sul Pi, esportare il modello su una macchina Linux x86_64 e eseguire l'inferenza sul Pi.
Installare il runtime Edge TPU#
Il runtime è disponibile in diverse build: scegli quella compatibile con il tuo sistema operativo. La build ad alta frequenza fa funzionare Edge TPU a una frequenza di clock maggiore per ottenere prestazioni migliori, ma può causare throttling termico: se la scegli, usa un sistema di raffreddamento.
| Raspberry Pi OS | Modalità ad alta frequenza | Versione da scaricare |
|---|---|---|
| Bullseye 32 bit | No | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64 bit | No | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32 bit | Sì | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64 bit | Sì | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32 bit | No | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64 bit | No | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32 bit | Sì | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64 bit | Sì | libedgetpu1-max_ ... .bookworm_arm64.deb |
Scarica qui l'ultima versione, quindi installa il pacchetto .deb:
sudo dpkg -i path/to/package.debDopo aver installato il runtime, collega Coral Edge TPU a una porta USB 3.0 del Raspberry Pi affinché la nuova regola udev possa entrare in vigore.
Prima rimuovi eventuali runtime esistenti
Se hai già installato il runtime Coral Edge TPU, disinstallalo prima di installare una nuova build.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxEsportare il modello nel formato Edge TPU#
Per usare Edge TPU, converti il modello in un formato compatibile. Esegui l'esportazione su Linux x86_64 — Google Colab, una macchina Linux x86_64, il contenitore Docker ufficiale di Ultralytics su un host x86_64 oppure Ultralytics Platform — poiché il compilatore Edge TPU è disponibile solo su Linux x86_64. Consulta la pagina Modalità di esportazione per gli argomenti disponibili.
from ultralytics import YOLO
# Carica un modello
model = YOLO("path/to/model.pt") # Carica un modello ufficiale o un modello personalizzato
# Esporta il modello
model.export(format="edgetpu")Il modello esportato viene salvato nella cartella <model_name>_saved_model/ come <model_name>_full_integer_quant_edgetpu.tflite.
Il nome del file deve terminare con _edgetpu.tflite. Se lo rinomini in qualsiasi altro modo, Ultralytics lo caricherà come un normale modello LiteRT (.tflite), invece di rilevare Edge TPU, e l'acceleratore non verrà utilizzato.
Eseguire l'inferenza su Edge TPU#
Prima di eseguire il modello, installa le librerie corrette sul Raspberry Pi. Se TensorFlow è già installato, disinstallalo prima:
pip uninstall tensorflow tensorflow-aarch64Quindi installa o aggiorna tflite-runtime:
pip install -U tflite-runtimeOra puoi eseguire l'inferenza:
from ultralytics import YOLO
# Carica un modello
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Carica un modello ufficiale o un modello personalizzato
# Esegui la predizione
model.predict("path/to/source.png")Trovi tutti i dettagli sulla modalità di predizione nella pagina Predizione.
Se hai più Edge TPU, puoi selezionarne una specifica con l'argomento device.
from ultralytics import YOLO
# Carica un modello
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Carica un modello ufficiale o un modello personalizzato
# Esegui la predizione
model.predict("path/to/source.png") # Per impostazione predefinita, l'inferenza usa la prima TPU
model.predict("path/to/source.png", device="tpu:0") # Seleziona la prima TPU
model.predict("path/to/source.png", device="tpu:1") # Seleziona la seconda TPUBenchmark#
Le misurazioni seguenti sono state effettuate con Raspberry Pi OS Bookworm a 64 bit e un Coral Edge TPU USB. Indicano solo il tempo di inferenza (escludendo pre e post-elaborazione) e forniscono un riferimento relativo all'accelerazione offerta da Edge TPU sui vari modelli di Pi e modalità.
Questi benchmark sono stati registrati con modelli YOLOv8. I tempi di inferenza assoluti variano in base alla versione del modello e alle dimensioni dell'immagine, ma i miglioramenti relativi della velocità tra i modelli di Pi e le modalità di clock rimangono invariati.
| Dimensioni immagine | Modello | Tempo di inferenza standard (ms) | Tempo di inferenza ad alta frequenza (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 |
In media:
- Con la modalità standard, Raspberry Pi 5 è più veloce del 22% rispetto a Raspberry Pi 4B.
- Con la modalità ad alta frequenza, Raspberry Pi 5 è più veloce del 30,2% rispetto a Raspberry Pi 4B.
- La modalità ad alta frequenza è più veloce del 28,4% rispetto alla modalità standard.
Conclusione#
Coral Edge TPU trasforma un Raspberry Pi in un dispositivo di inferenza efficiente dal punto di vista energetico e performante per Ultralytics YOLO26. Esporta il modello su una macchina Linux x86_64, mantieni il suffisso _edgetpu.tflite ed eseguilo con tflite-runtime sul Pi per ottenere un'inferenza edge accelerata. Per ulteriori opzioni di distribuzione, consulta la guida Raspberry Pi.
Domande frequenti#
Coral Edge TPU è un dispositivo compatto che aggiunge al sistema un coprocessore Edge TPU. Questo coprocessore consente l'inferenza ML a basso consumo e alte prestazioni, ottimizzata in particolare per i modelli TensorFlow Lite. Su un Raspberry Pi, accelera l'inferenza ben oltre le prestazioni della sola CPU, migliorando notevolmente le prestazioni dei modelli Ultralytics YOLO26.
Scarica il pacchetto
.debappropriato per la tua versione di Raspberry Pi OS da questo link, quindi installalo:sudo dpkg -i path/to/package.debAssicurati di disinstallare tutte le versioni precedenti del runtime Coral Edge TPU seguendo i passaggi nella sezione Installare il runtime Edge TPU.
Sì. Esegui l'esportazione su Google Colab, una macchina Linux x86_64 o il contenitore Docker di Ultralytics; puoi usare anche Ultralytics Platform. Ecco come esportare con Python e CLI:
Esportazione del modellofrom ultralytics import YOLO # Carica un modello model = YOLO("path/to/model.pt") # Carica un modello ufficiale o un modello personalizzato # Esporta il modello model.export(format="edgetpu")Per ulteriori informazioni, consulta la documentazione della modalità di esportazione.
Se hai installato TensorFlow e devi passare a
tflite-runtime, disinstalla prima TensorFlow:pip uninstall tensorflow tensorflow-aarch64Quindi installa o aggiorna
tflite-runtime:pip install -U tflite-runtimePer istruzioni dettagliate, consulta la sezione Eseguire l'inferenza su Edge TPU.
Dopo aver esportato il modello YOLO26 in un formato compatibile con Edge TPU, esegui l'inferenza con i frammenti di codice seguenti. Il file del modello deve mantenere il suffisso
_edgetpu.tfliteaffinché Ultralytics lo carichi su Edge TPU:Esecuzione del modellofrom ultralytics import YOLO # Carica un modello model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Carica un modello ufficiale o un modello personalizzato # Esegui la predizione model.predict("path/to/source.png")Trovi tutti i dettagli sulla modalità di predizione nella pagina Predizione.