Ultralytics YOLO27:

Come eseguire Ultralytics YOLO26 su un Raspberry Pi con un Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

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.
Runtime aggiornato per TensorFlow Lite attuale

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#

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 OSModalità ad alta frequenzaVersione da scaricare
Bullseye 32 bitNolibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64 bitNolibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32 bitlibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64 bitlibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32 bitNolibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64 bitNolibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32 bitlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64 bitlibedgetpu1-max_ ... .bookworm_arm64.deb

Scarica qui l'ultima versione, quindi installa il pacchetto .deb:

sudo dpkg -i path/to/package.deb

Dopo 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-max

Esportare 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.

Esportazione del modello
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.

Mantieni il suffisso `_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-aarch64

Quindi installa o aggiorna tflite-runtime:

pip install -U tflite-runtime

Ora puoi eseguire l'inferenza:

Esecuzione del modello
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.

Inferenza con più Edge TPU

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 TPU

Benchmark#

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.

Informazioni su questi valori

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'immagineModelloTempo di inferenza standard (ms)Tempo di inferenza ad alta frequenza (ms)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.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 .deb appropriato per la tua versione di Raspberry Pi OS da questo link, quindi installalo:

    sudo dpkg -i path/to/package.deb

    Assicurati 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 modello
    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")

    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-aarch64

    Quindi installa o aggiorna tflite-runtime:

    pip install -U tflite-runtime

    Per 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.tflite affinché Ultralytics lo carichi sull'Edge TPU:

    Esecuzione del modello
    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 informazioni complete sulla modalità di predizione nella pagina Predict.

Commenti