YOLO Vision 2026:

Impara a esportare nel formato TFLite Edge TPU dal modello YOLO26#

Il deployment di modelli di computer vision su dispositivi con potenza di calcolo limitata, come sistemi mobili o embedded, può risultare complesso. L'utilizzo di un formato di modello ottimizzato per prestazioni più rapide semplifica il processo. Il formato di modello TensorFlow Lite Edge TPU o TFLite Edge TPU è progettato per consumare un'energia minima offrendo al contempo prestazioni elevate per le reti neurali.

La funzionalità di esportazione nel formato TFLite Edge TPU ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per l'inferenza ad alta velocità e a basso consumo energetico. In questa guida ti mostreremo come convertire i tuoi modelli nel formato TFLite Edge TPU, facilitandone le prestazioni su vari dispositivi mobili e embedded.

Perché dovresti esportare in TFLite Edge TPU?#

L'esportazione di modelli su TensorFlow Edge TPU rende le attività di machine learning rapide ed efficienti. Questa tecnologia è adatta ad applicazioni con limitata disponibilità di energia, risorse di calcolo e connettività. L'Edge TPU è un acceleratore hardware di Google che velocizza i modelli TensorFlow Lite sui dispositivi edge. L'immagine sottostante mostra un esempio del processo coinvolto.

TensorFlow Lite Edge TPU compilation workflow

L'Edge TPU funziona con modelli quantizzati. La quantizzazione rende i modelli più piccoli e veloci senza perdere molta accuratezza. È ideale per le risorse limitate dell'edge computing, consentendo alle applicazioni di rispondere rapidamente riducendo la latenza e permettendo una rapida elaborazione locale dei dati, senza dipendenza dal cloud. L'elaborazione locale mantiene inoltre i dati degli utenti privati e sicuri, poiché non vengono inviati a un server remoto.

Caratteristiche principali di TFLite Edge TPU#

Ecco le caratteristiche principali che rendono TFLite Edge TPU un'ottima scelta di formato di modello per gli sviluppatori:

  • Prestazioni ottimizzate sui dispositivi Edge: TFLite Edge TPU ottiene prestazioni di rete neurale ad alta velocità attraverso la quantizzazione, l'ottimizzazione del modello, l'accelerazione hardware e l'ottimizzazione del compilatore. La sua architettura minimalista contribuisce a ridurre le dimensioni e a migliorare l'efficienza dei costi.

  • Elevato throughput computazionale: TFLite Edge TPU combina l'accelerazione hardware specializzata e l'esecuzione efficiente in runtime per raggiungere un elevato throughput computazionale. È molto adatto per la distribuzione di modelli di machine learning con rigorosi requisiti di prestazioni sui dispositivi edge.

  • Calcoli Matematici Efficienti: Il TensorFlow Edge TPU è ottimizzato per le operazioni su matrici, che sono cruciali per i calcoli delle reti neurali. Questa efficienza è fondamentale nei modelli di machine learning, in particolare in quelli che richiedono numerose e complesse moltiplicazioni e trasformazioni di matrici.

Opzioni di distribuzione con TFLite Edge TPU#

Prima di passare a come esportare i modelli YOLO26 nel formato TFLite Edge TPU, capiamo dove vengono solitamente utilizzati i modelli TFLite Edge TPU.

TFLite Edge TPU offre varie opzioni di distribuzione per i modelli di machine learning, tra cui:

  • Distribuzione on-device: I modelli TensorFlow Edge TPU possono essere distribuiti direttamente su dispositivi mobili ed embedded. La distribuzione on-device consente ai modelli di essere eseguiti direttamente sull'hardware, eliminando la necessità di connettività cloud, sia incorporando il modello nel bundle dell'applicazione che scaricandolo su richiesta.

  • Edge Computing con Cloud TensorFlow TPUs: Negli scenari in cui i dispositivi edge hanno capacità di elaborazione limitate, i TensorFlow Edge TPU possono scaricare le attività di inferenza su server cloud dotati di TPU.

  • Deploy Ibrido: Un approccio ibrido combina il deployment on-device e cloud, offrendo una soluzione versatile e scalabile per il rilascio di modelli di machine learning. Tra i vantaggi vi sono l'elaborazione on-device per risposte rapide e il cloud computing per calcoli più complessi.

Attività supportate#

L'esportazione Edge TPU supporta sei dei sette task di Ultralytics. La segmentazione semantica è disponibile solo con YOLO26, l'unica famiglia che include tale head. La stima della profondità non è supportata perché il suo modello INT8 emette un operatore v2 EXP che il compilatore Edge TPU non è in grado di analizzare.

CompitoYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Il compilatore Edge TPU mappa le operazioni supportate sull'acceleratore e lascia le restanti sulla CPU, quindi il supporto di un task non significa che ogni operazione venga eseguita sulla TPU.

Esportazione dei modelli YOLO26 in TFLite Edge TPU#

Puoi espandere la compatibilità del modello e la flessibilità di distribuzione convertendo i modelli YOLO26 in TensorFlow Edge TPU.

Installazione#

Per installare il pacchetto richiesto, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e migliori pratiche relative al processo di installazione, consulta la nostra Guida all'installazione di Ultralytics. Se riscontri difficoltà durante l'installazione dei pacchetti richiesti per YOLO26, consulta la nostra Guida ai problemi comuni per soluzioni e suggerimenti.

Utilizzo#

Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione pronta all'uso, rendendo semplice integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione supportati e delle opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.

Il formato TFLite Edge TPU supporta le modalità Export, Predict e Validate. L'inferenza e la validazione vengono eseguite sull'hardware Coral Edge TPU. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o validarne l'accuratezza.

Esportazione
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
Previsione
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Convalida
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Argomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'edgetpu'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
quantizeint o str8/autoPrecisione di quantizzazione. 8 (INT8) è obbligatorio e viene abilitato automaticamente per Edge TPU, comprimendo il modello e accelerando l'inferenza con una perdita minima di accuratezza sui dispositivi edge. Sostituisce i flag deprecati half/int8.
opsetintNoneSpecifica la versione dell'opset ONNX per il grafo ONNX intermedio. Se non impostata, utilizza l'ultima versione supportata.
datastrNonePercorso del file YAML del dataset, essenziale per la quantizzazione; la classificazione richiede invece una cartella di dataset o il nome di un dataset integrato. Se omesso con quantize=8, Ultralytics seleziona il dataset di calibrazione predefinito per il task del modello.
fractionfloat1.0Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente la calibrazione su un sottoinsieme del dataset completo, utile per esperimenti o quando le risorse sono limitate. Se non specificato con INT8 abilitato, verrà utilizzato l'intero dataset.
devicestrNoneSpecifica il dispositivo per l'esportazione: CPU (device=cpu).
Suggerimento

Assicurati di utilizzare una macchina Linux x86 durante l'esportazione su EdgeTPU.

Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.

Distribuzione dei modelli YOLO26 TFLite Edge TPU esportati#

Dopo aver esportato con successo i tuoi modelli Ultralytics YOLO26 nel formato TFLite Edge TPU, ora puoi distribuirli. Il primo passaggio, principale e consigliato, per eseguire un modello TFLite Edge TPU è utilizzare il metodo YOLO("model_edgetpu.tflite"), come descritto nel frammento di codice di utilizzo precedente.

Tuttavia, per istruzioni approfondite sulla distribuzione dei tuoi modelli TFLite Edge TPU, dai un'occhiata alle seguenti risorse:

In questa guida abbiamo imparato a esportare i modelli Ultralytics YOLO26 nel formato TFLite Edge TPU. Seguendo i passaggi descritti sopra, puoi aumentare la velocità e la potenza delle tue applicazioni di computer vision.

Per ulteriori dettagli sull'utilizzo, visita il sito web ufficiale di Edge TPU.

Inoltre, per maggiori informazioni su altre integrazioni di Ultralytics YOLO26, visita la nostra pagina della guida alle integrazioni. Lì troverai risorse e approfondimenti preziosi.

FAQ#

  • Per esportare un modello YOLO26 nel formato TFLite Edge TPU, puoi seguire questi passaggi:

    Utilizzo
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TFLite Edge TPU format
    model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
    
    # Load the exported TFLite Edge TPU model
    edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
    
    # Run inference
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    Per i dettagli completi sull'esportazione dei modelli in altri formati, fai riferimento alla nostra guida all'esportazione.

  • L'esportazione dei modelli YOLO26 in TFLite Edge TPU offre diversi vantaggi:

    • Prestazioni ottimizzate: Ottieni prestazioni della rete neurale ad alta velocità con un consumo energetico minimo.
    • Latenza ridotta: Elaborazione rapida dei dati in locale senza necessità di dipendenza dal cloud.
    • Privacy migliorata: L'elaborazione locale mantiene i dati dell'utente privati e sicuri.

    Questo rende la soluzione ideale per le applicazioni nell'edge computing, dove i dispositivi dispongono di potenza e risorse di calcolo limitate. Scopri di più sul motivo per cui dovresti esportare.

  • Sì, i modelli TensorFlow Lite Edge TPU possono essere distribuiti direttamente su dispositivi mobili e embedded. Questo approccio di deployment consente ai modelli di essere eseguiti direttamente sull'hardware, offrendo un'inferenza più rapida ed efficiente. Per esempi di integrazione, consulta la nostra guida sul deployment di Coral Edge TPU su Raspberry Pi.

  • I casi d'uso comuni per i modelli TFLite Edge TPU includono:

    • Smart Cameras: Miglioramento dell'analisi di immagini e video in tempo reale.
    • Dispositivi IoT: Abilitazione della domotica e dell'automazione industriale.
    • Sanità: Accelerazione dell'imaging medico e della diagnostica.
    • Vendita al dettaglio: Miglioramento della gestione dell'inventario e dell'analisi del comportamento dei clienti.

    Queste applicazioni traggono vantaggio dalle elevate prestazioni e dal basso consumo energetico dei modelli TFLite Edge TPU. Scopri di più sugli scenari di utilizzo.

  • Se riscontri problemi durante l'esportazione o il deployment dei modelli TFLite Edge TPU, fai riferimento alla nostra guida sui problemi comuni per suggerimenti sulla risoluzione dei problemi. Questa guida copre i problemi più frequenti e le relative soluzioni per aiutarti a garantire un funzionamento ottimale. Per ulteriore supporto, visita il nostro Centro Assistenza.

Commenti