Meet YOLO26: next-gen vision AI.

Link to this sectionGuida all'esportazione dei modelli 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 che possa garantire prestazioni senza interruzioni.

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

Link to this sectionPerché dovresti esportare in TFLite?#

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

TensorFlow Lite è compatibile con una vasta gamma di piattaforme, tra cui Linux embedded, Android, iOS e microcontrollori (MCU). Esportare il tuo modello in TFLite rende le tue applicazioni più veloci, più 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 propri modelli su dispositivi mobili, embedded ed edge:

  • Ottimizzazione on-device: TFLite ottimizza per il ML on-device, riducendo la latenza elaborando i dati localmente, migliorando la privacy evitando la trasmissione di dati personali e riducendo al minimo le dimensioni del modello per risparmiare spazio.

  • Supporto multi-piattaforma: TFLite offre un'ampia compatibilità di piattaforma, supportando Android, iOS, Linux embedded e microcontrollori.

  • Supporto multilingue: TFLite è compatibile con vari linguaggi di programmazione, tra cui Java, Swift, Objective-C, C++ e Python.

  • Alte prestazioni: Ottiene prestazioni superiori attraverso l'accelerazione hardware e l'ottimizzazione del modello.

Link to this sectionOpzioni di deployment in TFLite#

Prima di esaminare il codice per esportare i modelli YOLO26 nel formato TFLite, comprendiamo come vengono normalmente utilizzati i modelli TFLite.

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

  • Deployment con Android e iOS: Entrambe le applicazioni Android e iOS con TFLite possono analizzare i feed della fotocamera edge e i sensori 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 di inferenze su un Raspberry Pi utilizzando la Guida Ultralytics non soddisfa i requisiti di velocità del 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 essere distribuiti anche su microcontrollori e altri dispositivi con solo pochi kilobyte di memoria. Il runtime principale occupa appena 16 KB su un Arm Cortex M3 ed è in grado di 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 sectionEsporta in TFLite: Conversione del tuo modello YOLO26#

Puoi migliorare l'efficienza di 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. Durante l'installazione dei pacchetti necessari per YOLO26, se 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 nativamente, rendendo semplice integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione supportati e le opzioni di configurazione 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.

Esportazione
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'
Previsione
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Convalida
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 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.
halfboolFalseAbilita la quantizzazione FP16 (mezza precisione), riducendo la dimensione del modello e potenzialmente accelerando l'inferenza sull'hardware supportato.
int8boolFalseAttiva la quantizzazione INT8, comprimendo ulteriormente il modello e velocizzando l'inferenza con una perdita minima di precisione, principalmente per dispositivi edge.
nmsboolFalseAggiunge la Non-Maximum Suppression (NMS), essenziale per un post-processing del 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 (default: coco8.yaml), essenziale per la quantizzazione.
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), 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 con successo i tuoi modelli Ultralytics YOLO26 nel formato TFLite, ora puoi distribuirli. Il primo passaggio primario e consigliato per eseguire un modello TFLite è utilizzare il metodo YOLO("model.tflite"), come indicato nel precedente frammento di codice di utilizzo. Tuttavia, per istruzioni approfondite sul deployment dei tuoi modelli TFLite in vari altri contesti, dai un'occhiata alle seguenti risorse:

  • Android: Una guida rapida per integrare 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 dettagliate e risorse.

  • Esempi end-to-end: Questa pagina offre una panoramica di vari esempi di TensorFlow Lite, mostrando applicazioni pratiche e tutorial progettati per aiutare gli sviluppatori a implementare TensorFlow Lite nei propri 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 modello 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 Ultralytics YOLO26, dai un'occhiata alla nostra pagina della guida all'integrazione. Troverai molte informazioni e approfondimenti utili lì.

Link to this sectionFAQ#

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

Per esportare un modello YOLO26 nel formato TFLite, puoi utilizzare la libreria Ultralytics. Per prima cosa, 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 del modello YOLO26?#

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

  • Ottimizzazione on-device: Riduci la latenza e migliora la privacy elaborando i dati localmente.
  • Compatibilità della piattaforma: 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ù, dai un'occhiata alla 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. Innanzitutto, esporta il tuo modello nel formato TFLite come spiegato sopra. Quindi, utilizza uno strumento come TensorFlow Lite Interpreter per eseguire il modello sul tuo Raspberry Pi.

Per ulteriori ottimizzazioni, potresti prendere in considerazione l'utilizzo di Coral Edge TPU. Per 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 previsioni YOLO26?#

Sì, TFLite supporta il deployment su microcontrollori con risorse limitate. Il runtime principale 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 potenza computazionale 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à di piattaforma, consentendoti di distribuire modelli YOLO26 su una vasta gamma di dispositivi, tra cui:

  • Android e iOS: Supporto nativo tramite librerie TFLite 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 risolvo i problemi comuni durante l'esportazione del modello YOLO26 in TFLite?#

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

  • Controlla la compatibilità del pacchetto: Assicurati di utilizzare versioni compatibili di Ultralytics e TensorFlow. Fai riferimento alla nostra guida all'installazione.
  • Supporto modello: Verifica che lo specifico modello YOLO26 supporti l'esportazione TFLite controllando la pagina della documentazione di 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