Come eseguire Ultralytics YOLO26 su un Raspberry Pi con un Coral Edge TPU#
Un Raspberry Pi è una piattaforma efficiente dal punto di vista energetico ed economica per eseguire la computer vision all'edge, ma l'inferenza sul dispositivo è lenta anche con formati ottimizzati come ONNX o OpenVINO. Abbinando il Pi a un coprocessore Coral Edge TPU, l'inferenza viene trasferita a un hardware dedicato e risulta notevolmente più veloce. Questa guida mostra come installare il runtime, esportare un modello Ultralytics YOLO26 nel formato Edge TPU ed eseguire l'inferenza accelerata.
Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Perché usare un Coral Edge TPU?#
Il Coral Edge TPU è un dispositivo compatto che aggiunge un coprocessore Edge TPU al sistema, consentendo un'inferenza ML a basso consumo e ad alte prestazioni per i modelli TensorFlow Lite. È ideale per le implementazioni embedded e mobili in cui una CPU da sola non riesce a tenere il passo:
- Inferenza più veloce — l'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, ideale per implementazioni alimentate a batteria o a energia solare.
- Plug-and-play — l'USB Accelerator si collega tramite USB 3.0, quindi non è necessaria alcuna integrazione hardware aggiuntiva.
La guida ufficiale di Coral non è aggiornata: le build originali del runtime 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 su un'installazione attuale 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 non ARM (Google Colab, una macchina Linux x86_64 o il container Docker di Ultralytics) per esportare il modello, poiché il compilatore Edge TPU non è disponibile su ARM
Questa guida presuppone che tu disponga già di 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 non ARM ed eseguire l'inferenza nuovamente sul Pi.
Installare il runtime Edge TPU#
Il runtime è disponibile in diverse build, quindi scegli quella compatibile con il tuo sistema operativo. La build ad alta frequenza esegue l'Edge TPU a una velocità di clock superiore per ottenere prestazioni migliori, ma può causare throttling termico: se la scegli, utilizza una qualche forma 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 il Coral Edge TPU a una porta USB 3.0 del Raspberry Pi, in modo che la nuova regola udev possa diventare effettiva.
Rimuovi prima ogni runtime esistente
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 utilizzare l'Edge TPU, converti il modello in un formato compatibile. Esegui l'esportazione su una piattaforma non ARM — Google Colab, una macchina Linux x86_64, il container Docker ufficiale di Ultralytics o Ultralytics Platform — poiché il compilatore Edge TPU non è disponibile su ARM. Consulta la pagina Modalità Esporta per gli argomenti disponibili.
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")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 diversamente, Ultralytics lo caricherà come un normale modello TensorFlow Lite invece di rilevare l'Edge TPU e l'acceleratore non verrà utilizzato.
Eseguire l'inferenza sull'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
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")Trovi tutti i dettagli sulla modalità di predizione nella pagina Predict.
Se disponi di più Edge TPU, puoi selezionarne uno specifico con l'argomento device.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_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 TPUBenchmark#
Le figure seguenti sono state misurate con Raspberry Pi OS Bookworm a 64 bit e un Coral Edge TPU USB. Mostrano solo il tempo di inferenza (pre e post-processing esclusi) e fungono da riferimento relativo per l'accelerazione fornita dall'Edge TPU nei diversi modelli e nelle diverse modalità del Pi.
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 Pi e le modalità di clock rimangono invariati.
| Dimensioni dell'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:
- Il Raspberry Pi 5 è il 22% più veloce in modalità standard rispetto al Raspberry Pi 4B.
- Il Raspberry Pi 5 è il 30,2% più veloce in modalità ad alta frequenza rispetto al Raspberry Pi 4B.
- La modalità ad alta frequenza è il 28,4% più veloce della modalità standard.
Conclusioni#
Un Coral Edge TPU trasforma un Raspberry Pi in un dispositivo di inferenza efficiente e a basso consumo per Ultralytics YOLO26. Esporta il modello su una macchina non ARM, mantieni il suffisso _edgetpu.tflite ed eseguilo con tflite-runtime sul Pi per ottenere un'inferenza edge accelerata. Per ulteriori opzioni di deployment, consulta la guida Raspberry Pi.
FAQ#
Il Coral Edge TPU è un dispositivo compatto che aggiunge un coprocessore Edge TPU al sistema. Questo coprocessore consente un'inferenza ML a basso consumo e ad alte prestazioni, ottimizzata in particolare per i modelli TensorFlow Lite. Su un Raspberry Pi, accelera l'inferenza ben oltre le capacità della sola CPU, migliorando significativamente 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 eventuali 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 container Docker di Ultralytics; puoi anche utilizzare Ultralytics Platform. Ecco come eseguire l'esportazione con Python e CLI:
Esportazione del modellofrom 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")Per ulteriori informazioni, consulta la documentazione della Modalità Esporta.
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 sull'Edge TPU.
Dopo aver esportato il modello YOLO26 in un formato compatibile con Edge TPU, esegui l'inferenza con i seguenti snippet. Il file del modello deve mantenere il suffisso
_edgetpu.tfliteaffinché Ultralytics lo carichi sull'Edge TPU:Esecuzione del modellofrom ultralytics import YOLO # Load a model model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model # Run Prediction model.predict("path/to/source.png")Trovi informazioni complete sulla modalità di predizione nella pagina Predict.