Scopri come esportare un modello YOLO26 nel formato TFLite Edge TPU#
La distribuzione di modelli di computer vision su dispositivi con potenza di calcolo limitata, come sistemi mobili o embedded, può essere complessa. L'utilizzo di un formato di modello ottimizzato per prestazioni più elevate semplifica il processo. Il formato di modello TensorFlow Lite Edge TPU, o TFLite Edge TPU, è progettato per consumare una quantità minima di energia 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 inferenze ad alta velocità e basso consumo energetico. In questa guida ti mostreremo come convertire i tuoi modelli nel formato TFLite Edge TPU, semplificando l'esecuzione efficiente dei tuoi modelli su diversi dispositivi mobili ed embedded.
Perché esportare nel formato TFLite Edge TPU?#
L'esportazione dei modelli su TensorFlow Edge TPU rende le attività di machine learning rapide ed efficienti. Questa tecnologia è adatta alle applicazioni con disponibilità limitata di energia, risorse di calcolo e connettività. Edge TPU è un acceleratore hardware di Google. Velocizza i modelli TensorFlow Lite sui dispositivi edge. L'immagine seguente mostra un esempio del processo coinvolto.
Edge TPU funziona con modelli quantizzati. La quantizzazione rende i modelli più piccoli e veloci senza una perdita significativa di accuratezza. È ideale per le risorse limitate dell'edge computing, consentendo alle applicazioni di rispondere rapidamente riducendo la latenza ed elaborando velocemente i dati localmente, senza dipendere dal cloud. L'elaborazione locale mantiene inoltre privati e sicuri i dati degli utenti, 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 raggiunge prestazioni elevate per le reti neurali grazie a quantizzazione, ottimizzazione del modello, accelerazione hardware e ottimizzazione del compilatore. La sua architettura minimalista contribuisce alle dimensioni ridotte e all'efficienza dei costi.
-
Elevato throughput computazionale: TFLite Edge TPU combina un'accelerazione hardware specializzata con un'esecuzione efficiente del runtime per raggiungere un throughput computazionale elevato. È particolarmente adatto alla distribuzione di modelli di machine learning con requisiti prestazionali stringenti sui dispositivi edge.
-
Calcoli efficienti sulle matrici: TensorFlow Edge TPU è ottimizzato per le operazioni sulle matrici, 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 dove vengono generalmente utilizzati i modelli TFLite Edge TPU.
TFLite Edge TPU offre diverse opzioni di distribuzione per i modelli di machine learning, tra cui:
-
Distribuzione sul dispositivo: i modelli TensorFlow Edge TPU possono essere distribuiti direttamente su dispositivi mobili ed embedded. La distribuzione sul dispositivo consente ai modelli di essere eseguiti direttamente sull'hardware, eliminando la necessità di connettività al cloud, incorporando il modello nel bundle dell'applicazione oppure scaricandolo quando richiesto.
-
Distribuzione ibrida: un approccio ibrido combina la distribuzione sul dispositivo e nel cloud, offrendo una soluzione versatile e scalabile per la distribuzione dei modelli di machine learning. Tra i vantaggi figurano l'elaborazione sul dispositivo per risposte rapide e il cloud computing per calcoli più complessi.
Attività supportate#
L'esportazione su Edge TPU supporta sei delle sette attività di Ultralytics. La segmentazione semantica è disponibile solo con YOLO26, l'unica famiglia che include questo head. La stima della profondità non è supportata perché il suo modello INT8 emette un operatore EXP v2 che il compilatore Edge TPU non è in grado di analizzare.
| Attività | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Rilevamento | ✅ | ✅ | ✅ |
| Segmentazione | ✅ | ✅ | ✅ |
| Semantica | ❌ | ❌ | ✅ |
| Profondità | ❌ | ❌ | ❌ |
| Classificazione | ✅ | ✅ | ✅ |
| Posa | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Il compilatore Edge TPU assegna le operazioni supportate all'acceleratore e lascia le restanti sulla CPU, quindi il supporto di un'attività non significa che ogni operazione venga eseguita sulla TPU.
Esportazione dei modelli YOLO26 nel formato 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:
# Install the required package for YOLO26
pip install ultralyticsPer istruzioni dettagliate e best practice relative al processo 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 flusso di distribuzione che preferisci. Puoi consultare 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à 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 l'inferenza o convalidarne l'accuratezza.
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'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")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#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'edgetpu' | Formato di destinazione del modello esportato, che definisce la compatibilità con diversi ambienti di distribuzione. |
imgsz | int o tuple | 640 | Dimensione desiderata dell'immagine per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche. |
quantize | int o str | 8/auto | Precisione della quantizzazione. 8 (INT8) è obbligatoria e viene abilitata automaticamente per Edge TPU; comprime il modello e accelera l'inferenza con una perdita minima di accuratezza sui dispositivi edge. Sostituisce i flag obsoleti half/int8. |
opset | int | None | Specifica la versione dell'opset ONNX per il grafo ONNX intermedio. Se non impostata, viene utilizzata la versione supportata più recente. |
data | str | None | Percorso al file YAML del dataset, essenziale per la quantizzazione; la classificazione richiede invece una directory del dataset o il nome di un dataset integrato. Se omesso con quantize=8, Ultralytics seleziona il dataset di calibrazione predefinito per l'attività del modello. |
fraction | float, int o list | 1.0 | Sottoinsieme di calibrazione espresso come rapporto, numero di immagini oppure rapporti/conteggi [train, val, test]. Gli elenchi di due elementi lasciano completo test, mentre 0 lo salta. |
device | str | None | Specifica il dispositivo per l'esportazione: CPU (device=cpu). |
Assicurati di usare una macchina Linux x86 durante l'esportazione verso Edge TPU.
Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione Ultralytics sull'esportazione.
Distribuzione dei modelli YOLO26 TFLite Edge TPU esportati#
Dopo aver esportato correttamente i tuoi modelli Ultralytics YOLO26 nel formato TFLite Edge TPU, puoi distribuirli. Il primo passaggio principale e consigliato per eseguire un modello TFLite Edge TPU consiste nell'utilizzare il metodo YOLO("model_edgetpu.tflite"), come illustrato nel precedente frammento di codice di utilizzo.
Tuttavia, per istruzioni dettagliate sulla distribuzione dei tuoi modelli TFLite Edge TPU, consulta le seguenti risorse:
-
Coral Edge TPU su Raspberry Pi con Ultralytics YOLO26: scopri come integrare Coral Edge TPU con Raspberry Pi per potenziare le funzionalità di machine learning.
-
Esempi di codice: accedi a esempi pratici di distribuzione TensorFlow Edge TPU per iniziare rapidamente i tuoi progetti.
-
Eseguire l'inferenza su Edge TPU con Python: scopri come utilizzare l'API Python di TensorFlow Lite per le applicazioni Edge TPU, incluse le linee guida per la configurazione e l'utilizzo.
Riepilogo#
In questa guida abbiamo imparato a esportare i modelli Ultralytics YOLO26 nel formato TFLite Edge TPU. Seguendo i passaggi indicati sopra, puoi aumentare la velocità e ridurre il consumo energetico delle tue applicazioni di computer vision.
Per ulteriori dettagli sull'utilizzo, visita il sito ufficiale di Coral Edge TPU.
Inoltre, per maggiori informazioni sulle altre integrazioni di Ultralytics YOLO26, visita la nostra pagina della guida alle integrazioni. Qui troverai risorse e informazioni utili.
FAQ#
Per esportare un modello YOLO26 nel formato TFLite Edge TPU, puoi seguire questi passaggi:
Utilizzofrom 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 informazioni complete sull'esportazione dei modelli in altri formati, consulta la nostra guida all'esportazione.
L'esportazione dei modelli YOLO26 nel formato TFLite Edge TPU offre diversi vantaggi:
- Prestazioni ottimizzate: ottieni prestazioni elevate per le reti neurali con un consumo energetico minimo.
- Latenza ridotta: elaborazione rapida dei dati localmente senza dipendere dal cloud.
- Privacy migliorata: l'elaborazione locale mantiene privati e sicuri i dati degli utenti.
Questo lo rende ideale per le applicazioni di edge computing, in cui i dispositivi dispongono di energia e risorse di calcolo limitate. Scopri di più sul perché dovresti esportare.
Sì, i modelli TensorFlow Lite Edge TPU possono essere distribuiti direttamente su dispositivi mobili ed embedded. Questo approccio consente ai modelli di essere eseguiti direttamente sull'hardware, offrendo inferenze più rapide ed efficienti. Per 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.
- Sanità: accelerazione dell'imaging medico e della diagnostica.
- Commercio 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 di utilizzo.
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 dei problemi. Questa guida tratta i problemi più comuni e le relative soluzioni, aiutandoti a garantire un funzionamento senza intoppi. Per ulteriore assistenza, visita il nostro Centro assistenza.