Ultralytics YOLO27:
Get Started

Scopri come esportare un modello YOLO26 nel formato TFLite Edge TPU#

Distribuire modelli di visione artificiale su dispositivi con potenza di calcolo limitata, come sistemi mobili o embedded, può essere complicato. Usare 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 poca energia e offrire prestazioni elevate per le reti neurali.

La funzionalità di esportazione nel formato TFLite Edge TPU consente di ottimizzare i modelli Ultralytics YOLO26 per inferenze rapide e a basso consumo. In questa guida vedremo come convertire i modelli nel formato TFLite Edge TPU, così che funzionino al meglio su diversi dispositivi mobili ed embedded.

Perché esportare nel formato TFLite Edge TPU?#

Esportare modelli in TensorFlow Edge TPU rende le attività di machine learning rapide ed efficienti. Questa tecnologia è adatta alle applicazioni con potenza, risorse di calcolo e connettività limitate. Edge TPU è un acceleratore hardware di Google. Aumenta la velocità dei modelli TensorFlow Lite sui dispositivi edge. L'immagine seguente mostra un esempio del processo.

TensorFlow Lite Edge TPU compilation workflow

Edge TPU funziona con modelli quantizzati. La quantizzazione rende i modelli più piccoli e veloci senza compromettere troppo l'accuratezza. È ideale per le risorse limitate dell'edge computing: riduce la latenza e permette alle applicazioni di rispondere rapidamente, elaborando i dati in locale senza dipendere dal cloud. L'elaborazione locale mantiene inoltre i dati degli utenti privati e al sicuro, poiché non vengono inviati a un server remoto.

Funzionalità principali di TFLite Edge TPU#

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

  • Prestazioni ottimizzate sui dispositivi edge: TFLite Edge TPU raggiunge prestazioni elevate nelle reti neurali grazie alla quantizzazione, all'ottimizzazione dei modelli, all'accelerazione hardware e all'ottimizzazione del compilatore. La sua architettura essenziale contribuisce a ridurne dimensioni e costi.

  • Elevata capacità di elaborazione: TFLite Edge TPU combina accelerazione hardware specializzata ed esecuzione efficiente in fase di runtime per raggiungere un'elevata capacità di elaborazione. È particolarmente adatto alla distribuzione di modelli di machine learning con requisiti prestazionali rigorosi sui dispositivi edge.

  • Calcoli matriciali efficienti: TensorFlow Edge TPU è ottimizzato per le operazioni matriciali, fondamentali per i calcoli delle reti neurali. Questa efficienza è essenziale 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 vedere come esportare i modelli YOLO26 nel formato TFLite Edge TPU, vediamo in quali ambiti vengono solitamente usati i modelli TFLite Edge TPU.

TFLite Edge TPU offre diverse opzioni per distribuire i modelli di machine learning, tra cui:

  • Distribuzione sul dispositivo: i modelli TensorFlow Edge TPU possono essere distribuiti direttamente su dispositivi mobili e integrati. La distribuzione sul dispositivo consente ai modelli di essere eseguiti direttamente sull'hardware, senza bisogno di connettività cloud, incorporando il modello nel pacchetto dell'applicazione oppure scaricandolo su richiesta.

  • Distribuzione ibrida: un approccio ibrido combina la distribuzione sul dispositivo e nel cloud e offre una soluzione versatile e scalabile per distribuire modelli di machine learning. Tra i vantaggi figurano l'elaborazione sul dispositivo per risposte rapide e il calcolo nel cloud per i calcoli più complessi.

Attività supportate#

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

AttivitàYOLOv8YOLO11YOLO26
Rilevamento✅✅✅
Segmentazione✅✅✅
Semantica❌❌✅
Profondità❌❌❌
Classificazione✅✅✅
Stima della posa✅✅✅
OBB✅✅✅

Il compilatore Edge TPU assegna all'acceleratore le operazioni supportate e lascia le altre sulla CPU, quindi il supporto per un task non significa che tutte le operazioni vengano eseguite sulla TPU.

Esportazione dei modelli YOLO26 in TFLite Edge TPU#

Puoi ampliare la compatibilità dei modelli 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 best practice sulla procedura di installazione, consulta la nostra guida all'installazione di Ultralytics. Se durante l'installazione dei pacchetti necessari per YOLO26 riscontri difficoltà, consulta la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo#

Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione senza configurazioni aggiuntive, semplificando l'integrazione nel workflow di distribuzione che preferisci. Puoi consultare l'elenco completo dei formati di esportazione supportati e delle opzioni di configurazione per scegliere la configurazione più adatta alla tua applicazione.

Il formato TFLite Edge TPU supporta le modalità Esporta, Prevedi e Convalida. L'inferenza e la convalida vengono eseguite sull'hardware Coral Edge TPU. Esporta il modello, quindi carica il modello esportato per eseguire inferenze o convalidarne la precisione.

Esporta
from ultralytics import YOLO

# Carica un modello YOLO26
model = YOLO("yolo26n.pt")

# Esporta il modello nel formato TFLite Edge TPU
model.export(format="edgetpu")  # crea 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'
Predici
from ultralytics import YOLO

# Carica il modello TFLite Edge TPU esportato
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# Esegui l'inferenza
results = model("https://ultralytics.com/images/bus.jpg")
Convalida
from ultralytics import YOLO

# Carica il modello TFLite Edge TPU esportato
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# # Convalida l'accuratezza sul dataset COCO8
metrics = model.val(data="coco8.yaml")

Argomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'edgetpu'Formato di destinazione del modello esportato, che definisce la compatibilità con i vari ambienti di distribuzione.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
quantizeint o str8/autoPrecisione della quantizzazione. 8 (INT8) è obbligatoria e viene abilitata automaticamente per Edge TPU: comprime il modello e velocizza l'inferenza con una perdita minima di precisione sui dispositivi edge. Sostituisce i flag deprecati half/int8.
opsetintNoneSpecifica la versione opset ONNX per il grafo ONNX intermedio. Se non è impostata, viene usata l'ultima versione supportata.
datastrNonePercorso al file YAML del dataset, indispensabile per la quantizzazione; per la classificazione, invece, accetta una directory del dataset o il nome di un dataset integrato. Se omesso insieme a quantize=8, Ultralytics seleziona il dataset di calibrazione predefinito per l'attività del modello.
fractionfloat, int o list1.0Sottoinsieme di calibrazione espresso come rapporto, numero di immagini o rapporti/conteggi [train, val, test]. Gli elenchi di due elementi lasciano completo test, mentre 0 lo esclude.
devicestrNoneSpecifica il dispositivo per l'esportazione: CPU (device=cpu).
Suggerimento

Assicurati di usare una macchina Linux x86 per l'esportazione su Edge TPU.

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

Distribuzione dei modelli YOLO26 TFLite Edge TPU esportati#

Dopo aver esportato correttamente i modelli Ultralytics YOLO26 nel formato TFLite Edge TPU, puoi distribuirli. Il primo passaggio consigliato per eseguire un modello TFLite Edge TPU consiste nell'usare il metodo YOLO("model_edgetpu.tflite"), come illustrato nello snippet di codice d'uso precedente.

Per istruzioni dettagliate sulla distribuzione dei modelli TFLite Edge TPU, consulta le seguenti risorse:

Riepilogo#

In questa guida abbiamo visto come esportare i modelli Ultralytics YOLO26 nel formato TFLite Edge TPU. Seguendo i passaggi descritti sopra, puoi aumentare la velocità e l'efficienza delle tue applicazioni di visione artificiale.

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

Per ulteriori informazioni sulle altre integrazioni Ultralytics YOLO26, visita anche la nostra pagina della guida alle integrazioni. Qui troverai risorse e approfondimenti utili.

Domande frequenti#

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

    Utilizzo
    from ultralytics import YOLO
    
    # Carica un modello YOLO26
    model = YOLO("yolo26n.pt")
    
    # Esporta il modello nel formato TFLite Edge TPU
    model.export(format="edgetpu")  # crea 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'
    
    # Carica il modello TFLite Edge TPU esportato
    edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
    
    # Esegui l'inferenza
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    Per informazioni complete sull'esportazione dei modelli in altri formati, consulta la nostra guida all'esportazione.

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

    • Prestazioni ottimizzate: ottieni prestazioni elevate per le reti neurali con un consumo energetico minimo.
    • Latenza ridotta: elaborazione locale rapida dei dati, senza dipendere dal cloud.
    • Maggiore privacy: l'elaborazione locale mantiene i dati degli utenti riservati e protetti.

    Questo rende la soluzione ideale per le applicazioni di edge computing, in cui i dispositivi dispongono di risorse energetiche e di calcolo limitate. Scopri di più sul perché dovresti esportare.

  • Sì, i modelli TensorFlow Lite Edge TPU possono essere distribuiti direttamente su dispositivi mobili e integrati. Questo approccio consente ai modelli di essere eseguiti direttamente sull'hardware, offrendo inferenze più rapide ed efficienti. Per alcuni esempi di integrazione, consulta la nostra guida alla distribuzione di Coral Edge TPU su Raspberry Pi.

  • Tra i casi d'uso comuni dei modelli TFLite Edge TPU figurano:

    • Telecamere intelligenti: miglioramento dell'analisi di immagini e video in tempo reale.
    • Dispositivi IoT: abilitazione della domotica e dell'automazione industriale.
    • Assistenza sanitaria: 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 prestazioni elevate e dal basso consumo energetico dei modelli TFLite Edge TPU. Scopri di più sugli scenari d'uso.

  • Se riscontri problemi durante l'esportazione o la distribuzione dei modelli TFLite Edge TPU, consulta la nostra guida ai problemi comuni per suggerimenti sulla risoluzione. La guida descrive i problemi più comuni e le relative soluzioni per aiutarti a garantire un funzionamento regolare. Per ulteriore assistenza, visita il nostro Centro assistenza.

Commenti