Meet YOLO26: next-gen vision AI.

Link to this sectionUna guida all'esportazione del modello YOLO26 in TFLite per il deployment#

TensorFlow Lite edge deployment framework

Il deployment di modelli di computer vision su dispositivi edge o embedded richiede un formato in grado di garantire prestazioni ottimali.

Il formato di esportazione TensorFlow Lite o TFLite ti permette di ottimizzare i tuoi modelli Ultralytics YOLO26 per attività come il object detection e l'image classification in applicazioni basate su dispositivi edge. In questa guida, vedremo i passaggi per convertire i tuoi modelli nel formato TFLite, semplificando le prestazioni dei tuoi modelli su vari dispositivi edge.

Link to this sectionPerché dovresti esportare in TFLite?#

Introdotto da Google nel maggio 2017 come parte del suo framework TensorFlow, TensorFlow Lite, o TFLite in breve, è un framework open-source di deep learning progettato per l'inferenza on-device, nota anche come edge computing. Offre agli sviluppatori gli strumenti necessari per eseguire i propri modelli addestrati su dispositivi mobili, embedded e IoT, oltre che sui computer tradizionali.

TensorFlow Lite è compatibile con un'ampia gamma di piattaforme, tra cui Linux embedded, Android, iOS e microcontrollori (MCU). Esportare il tuo modello in TFLite rende le tue applicazioni più veloci, affidabili e in grado di funzionare offline.

Link to this sectionCaratteristiche principali dei modelli TFLite#

I modelli TFLite offrono un'ampia gamma di funzionalità chiave che abilitano il machine learning on-device aiutando gli sviluppatori a eseguire i loro modelli su dispositivi mobili, embedded ed edge:

  • Ottimizzazione on-device: TFLite ottimizza il machine learning on-device, riducendo la latenza tramite l'elaborazione dei dati in locale, migliorando la privacy evitando la trasmissione di dati personali e riducendo le dimensioni del modello per risparmiare spazio.

  • Supporto per piattaforme multiple: TFLite offre un'ampia compatibilità tra piattaforme, supportando Android, iOS, Linux embedded e microcontrollori.

  • Supporto per diversi linguaggi: TFLite è compatibile con vari linguaggi di programmazione, inclusi Java, Swift, Objective-C, C++ e Python.

  • Alte prestazioni: Ottiene prestazioni superiori grazie all'accelerazione hardware e all'ottimizzazione del modello.

Link to this sectionOpzioni di deployment in TFLite#

Prima di esaminare il codice per l'esportazione dei modelli YOLO26 nel formato TFLite, comprendiamo come vengono normalmente utilizzati i modelli TFLite.

TFLite offre varie opzioni di deployment on-device per modelli di machine learning, tra cui:

  • Deployment con Android e iOS: Entrambe le applicazioni Android e iOS con TFLite possono analizzare feed di telecamere e sensori basati su edge per rilevare e identificare oggetti. TFLite offre anche librerie iOS native scritte in Swift e Objective-C. Il diagramma dell'architettura sottostante mostra il processo di deployment di un modello addestrato su piattaforme Android e iOS utilizzando TensorFlow Lite.

TensorFlow Lite deployment architecture for mobile

  • Implementazione con Linux embedded: Se l'esecuzione delle inferenze su un Raspberry Pi utilizzando la Guida Ultralytics non soddisfa i requisiti di velocità per il tuo caso d'uso, puoi utilizzare un modello TFLite esportato per accelerare i tempi di inferenza. Inoltre, è possibile migliorare ulteriormente le prestazioni utilizzando un dispositivo Coral Edge TPU.

  • Deployment con microcontrollori: I modelli TFLite possono anche essere distribuiti su microcontrollori e altri dispositivi con solo pochi kilobyte di memoria. Il runtime principale occupa appena 16 KB su un Arm Cortex M3 e può eseguire molti modelli di base. Non richiede supporto per il sistema operativo, librerie C o C++ standard o allocazione dinamica della memoria.

Link to this sectionEsportazione in TFLite: Conversione del tuo modello YOLO26#

Puoi migliorare l'efficienza dell'esecuzione del modello on-device e ottimizzare le prestazioni convertendo i tuoi modelli nel formato TFLite.

Link to this sectionInstallazione#

Per installare i pacchetti richiesti, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

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

Link to this sectionUtilizzo#

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

Il formato TFLite supporta le modalità Export, Predict e Validate. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o convalidarne l'accuratezza.

Export
from ultralytics import YOLO

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

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'
Predict
from ultralytics import YOLO

# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")

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

# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")

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

Link to this sectionArgomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'tflite'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di deployment.
imgszint o tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
halfboolFalseAbilita la quantizzazione FP16 (precisione dimezzata), riducendo le dimensioni del modello e potenzialmente velocizzando l'inferenza sull'hardware supportato.
int8boolFalseAttiva la quantizzazione INT8, comprimendo ulteriormente il modello e velocizzando l'inferenza con una perdita minima di accuracy, principalmente per i dispositivi edge.
nmsboolFalseAggiunge la soppressione dei non massimi (NMS), essenziale per un post-processo di rilevamento accurato ed efficiente.
batchint1Specifica la dimensione dell'inferenza batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
datastr'coco8.yaml'Percorso al file di configurazione del dataset (predefinito: coco8.yaml), essenziale per la quantizzazione.
fractionfloat1.0Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente di calibrare 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), MPS per Apple silicon (device=mps).

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

Link to this sectionDeployment dei modelli YOLO26 TFLite esportati#

Dopo aver esportato correttamente i tuoi modelli Ultralytics YOLO26 nel formato TFLite, ora puoi procedere al loro deployment. Il primo passaggio, primario e consigliato, per eseguire un modello TFLite è utilizzare il metodo YOLO("model.tflite"), come indicato nel frammento di codice di utilizzo precedente. Tuttavia, per istruzioni approfondite sul deployment dei tuoi modelli TFLite in varie altre impostazioni, dai un'occhiata alle seguenti risorse:

  • Android: Una guida rapida per l'integrazione di TensorFlow Lite nelle applicazioni Android, fornendo passaggi facili da seguire per configurare ed eseguire modelli di machine learning.

  • iOS: Dai un'occhiata a questa guida dettagliata per sviluppatori sull'integrazione e il deployment di modelli TensorFlow Lite nelle applicazioni iOS, che offre istruzioni passo dopo passo e risorse.

  • Esempi end-to-end: Questa pagina fornisce una panoramica di vari esempi di TensorFlow Lite, mostrando applicazioni pratiche e tutorial progettati per aiutare gli sviluppatori a implementare TensorFlow Lite nei loro progetti di machine learning su dispositivi mobili ed edge.

In questa guida, ci siamo concentrati su come esportare nel formato TFLite. Convertendo i tuoi modelli Ultralytics YOLO26 nel formato TFLite, puoi migliorare l'efficienza e la velocità dei modelli YOLO26, rendendoli più efficaci e adatti agli ambienti di edge computing.

Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di TFLite.

Inoltre, se sei curioso riguardo ad altre integrazioni di Ultralytics YOLO26, dai un'occhiata alla nostra pagina della guida all'integrazione. Troverai molte informazioni utili e approfondimenti lì.

Link to this sectionFAQ#

Link to this sectionCome posso esportare un modello YOLO26 nel formato TFLite?#

Per esportare un modello YOLO26 nel formato TFLite, puoi utilizzare la libreria Ultralytics. Innanzitutto, installa il pacchetto richiesto utilizzando:

pip install ultralytics

Quindi, utilizza il seguente frammento di codice per esportare il tuo modello:

from ultralytics import YOLO

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

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

Per gli utenti CLI, puoi farlo con:

yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'

Per maggiori dettagli, visita la guida all'esportazione di Ultralytics.

Link to this sectionQuali sono i vantaggi dell'utilizzo di TensorFlow Lite per il deployment dei modelli YOLO26?#

TensorFlow Lite (TFLite) è un framework open-source di deep learning progettato per l'inferenza on-device, che lo rende ideale per il deployment di modelli YOLO26 su dispositivi mobili, embedded e IoT. I vantaggi principali includono:

  • Ottimizzazione on-device: Minimizza la latenza e migliora la privacy elaborando i dati in locale.
  • Compatibilità tra piattaforme: Supporta Android, iOS, Linux embedded e MCU.
  • Prestazioni: Utilizza l'accelerazione hardware per ottimizzare la velocità e l'efficienza del modello.

Per saperne di più, consulta la guida TFLite.

Link to this sectionÈ possibile eseguire modelli YOLO26 TFLite su Raspberry Pi?#

Sì, puoi eseguire modelli YOLO26 TFLite su Raspberry Pi per migliorare le velocità di inferenza. Per prima cosa, esporta il tuo modello nel formato TFLite come spiegato sopra. Quindi, utilizza uno strumento come l'interprete TensorFlow Lite per eseguire il modello sul tuo Raspberry Pi.

Per ulteriori ottimizzazioni, potresti prendere in considerazione l'utilizzo di Coral Edge TPU. Per i passaggi dettagliati, fai riferimento alla nostra guida al deployment su Raspberry Pi e alla guida all'integrazione di Edge TPU.

Link to this sectionPosso utilizzare modelli TFLite su microcontrollori per le predizioni YOLO26?#

Sì, TFLite supporta il deployment su microcontrollori con risorse limitate. Il runtime core di TFLite richiede solo 16 KB di memoria su un Arm Cortex M3 e può eseguire modelli YOLO26 di base. Questo lo rende adatto al deployment su dispositivi con una potenza di calcolo e memoria minime.

Per iniziare, visita la guida TFLite Micro per microcontrollori.

Link to this sectionQuali piattaforme sono compatibili con i modelli YOLO26 esportati in TFLite?#

TensorFlow Lite offre un'ampia compatibilità tra piattaforme, consentendoti di implementare modelli YOLO26 su una vasta gamma di dispositivi, inclusi:

  • Android e iOS: Supporto nativo tramite le librerie TFLite per Android e iOS.
  • Linux embedded: Ideale per computer a scheda singola come Raspberry Pi.
  • Microcontrollori: Adatto per MCU con risorse limitate.

Per ulteriori informazioni sulle opzioni di deployment, consulta la nostra guida al deployment dettagliata.

Link to this sectionCome posso risolvere i problemi comuni durante l'esportazione del modello YOLO26 in TFLite?#

Se riscontri errori durante l'esportazione dei modelli YOLO26 in TFLite, le soluzioni comuni includono:

  • Verifica la compatibilità del pacchetto: Assicurati di utilizzare versioni compatibili di Ultralytics e TensorFlow. Fai riferimento alla nostra guida all'installazione.
  • Supporto del modello: Verifica che lo specifico modello YOLO26 supporti l'esportazione TFLite controllando la pagina della documentazione sull'esportazione di Ultralytics.
  • Problemi di quantizzazione: Quando utilizzi la quantizzazione INT8, assicurati che il percorso del tuo dataset sia specificato correttamente nel parametro data.

Per ulteriori suggerimenti sulla risoluzione dei problemi, visita la nostra guida ai problemi comuni.

Commenti