Come esportare in TF GraphDef da YOLO26 per il deployment

Quando distribuisci modelli di computer vision all'avanguardia, come YOLO26, in diversi ambienti, potresti riscontrare problemi di compatibilità. Il formato TensorFlow GraphDef di Google, o TF GraphDef, offre una soluzione fornendo una rappresentazione serializzata e indipendente dalla piattaforma del tuo modello. Utilizzando il formato di modello TF GraphDef, puoi distribuire il tuo modello YOLO26 in ambienti in cui l'ecosistema TensorFlow completo potrebbe non essere disponibile, come dispositivi mobili o hardware specializzato.

In questa guida, ti accompagneremo passo dopo passo attraverso la procedura per esportare i tuoi modelli Ultralytics YOLO26 nel formato di modello TF GraphDef. Convertendo il tuo modello, puoi semplificare il deployment e utilizzare le funzionalità di computer vision di YOLO26 in una gamma più ampia di applicazioni e piattaforme.

TensorFlow GraphDef model serialization format

Perché dovresti esportare in TF GraphDef?

TF GraphDef è un componente potente dell'ecosistema TensorFlow sviluppato da Google. Può essere utilizzato per ottimizzare e distribuire modelli come YOLO26. L'esportazione in TF GraphDef ti permette di trasferire i modelli dalla ricerca alle applicazioni reali. Consente ai modelli di essere eseguiti in ambienti privi del framework TensorFlow completo.

Il formato GraphDef rappresenta il modello come un grafo di calcolo serializzato. Ciò abilita varie tecniche di ottimizzazione come il constant folding, la quantizzazione e le trasformazioni dei grafi. Queste ottimizzazioni garantiscono un'esecuzione efficiente, un consumo di memoria ridotto e velocità di inferenza più elevate.

I modelli GraphDef possono utilizzare acceleratori hardware come GPU, TPU e chip AI, sbloccando significativi guadagni in termini di prestazioni per la pipeline di inferenza di YOLO26. Il formato TF GraphDef crea un pacchetto autonomo con il modello e le sue dipendenze, semplificando il deployment e l'integrazione in sistemi diversi.

Caratteristiche chiave dei modelli TF GraphDef

TF GraphDef offre funzionalità distintive per semplificare il model deployment e l'ottimizzazione.

Ecco uno sguardo alle sue caratteristiche principali:

  • Serializzazione del modello: TF GraphDef fornisce un modo per serializzare e memorizzare i modelli TensorFlow in un formato indipendente dalla piattaforma. Questa rappresentazione serializzata ti permette di caricare ed eseguire i tuoi modelli senza il codice sorgente originale in Python, rendendo il deployment più semplice.

  • Ottimizzazione del grafo: TF GraphDef abilita l'ottimizzazione dei grafi computazionali. Queste ottimizzazioni possono aumentare le prestazioni snellendo il flusso di esecuzione, riducendo le ridondanze e adattando le operazioni all'hardware specifico.

  • Flessibilità di deployment: I modelli esportati nel formato GraphDef possono essere utilizzati in vari ambienti, inclusi dispositivi con risorse limitate, browser web e sistemi con hardware specializzato. Ciò apre possibilità per un deployment più ampio dei tuoi modelli TensorFlow.

  • Focus sulla produzione: GraphDef è progettato per il deployment in produzione. Supporta un'esecuzione efficiente, funzionalità di serializzazione e ottimizzazioni che si allineano con i casi d'uso del mondo reale.

Opzioni di deployment con TF GraphDef

Prima di addentrarci nel processo di esportazione dei modelli YOLO26 in TF GraphDef, diamo un'occhiata ad alcune situazioni tipiche di deployment in cui viene utilizzato questo formato.

Ecco come puoi effettuare il deployment in modo efficiente con TF GraphDef su varie piattaforme.

  • TensorFlow Serving: Questo framework è progettato per distribuire modelli TensorFlow in ambienti di produzione. TensorFlow Serving offre gestione dei modelli, versioning e l'infrastruttura per un serving efficiente dei modelli su larga scala. È un modo fluido per integrare i tuoi modelli basati su GraphDef in servizi web di produzione o API.

  • Dispositivi mobili ed embedded: Con strumenti come TensorFlow Lite, puoi convertire i modelli TF GraphDef in formati ottimizzati per smartphone, tablet e vari dispositivi embedded. I tuoi modelli possono quindi essere utilizzati per l'inferenza on-device, dove l'esecuzione viene fatta localmente, spesso fornendo guadagni in termini di prestazioni e capacità offline.

  • Browser web: TensorFlow.js abilita il deployment di modelli TF GraphDef direttamente all'interno dei browser web. Apre la strada ad applicazioni di rilevamento oggetti in tempo reale eseguite lato client, utilizzando le capacità di YOLO26 tramite JavaScript.

  • Hardware specializzato: La natura platform-agnostic di TF GraphDef gli permette di puntare ad hardware personalizzato, come acceleratori e TPU (Tensor Processing Units). Questi dispositivi possono fornire vantaggi in termini di prestazioni per modelli computazionalmente intensivi.

Esportazione dei modelli YOLO26 in TF GraphDef

Puoi convertire il tuo modello di rilevamento oggetti YOLO26 nel formato TF GraphDef, compatibile con vari sistemi, per migliorarne le prestazioni su tutte le piattaforme.

Installazione

Per installare il pacchetto richiesto, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e best practice relative al processo di installazione, controlla 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.

Utilizzo

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 delle opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.

Utilizzo
from ultralytics import YOLO

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

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

Argomenti di esportazione

ArgomentoTipoPredefinitoDescrizione
formatstr'pb'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.
batchint1Specifica la dimensione dell'inferenza batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
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.

Deployment dei modelli YOLO26 TF GraphDef esportati

Una volta esportato il tuo modello YOLO26 nel formato TF GraphDef, il passo successivo è il deployment. Il primo passo, primario e consigliato, per eseguire un modello TF GraphDef è utilizzare il metodo YOLO("model.pb"), come mostrato in precedenza nello snippet di codice di utilizzo.

Tuttavia, per ulteriori informazioni sul deployment dei tuoi modelli TF GraphDef, dai un'occhiata alle seguenti risorse:

  • TensorFlow Serving: Una guida su TensorFlow Serving che insegna come distribuire e servire modelli di machine learning in modo efficiente in ambienti di produzione.

  • TensorFlow Lite: Questa pagina descrive come convertire modelli di machine learning in un formato ottimizzato per l'inferenza on-device con TensorFlow Lite.

  • TensorFlow.js: Una guida sulla conversione dei modelli che insegna come convertire modelli TensorFlow o Keras nel formato TensorFlow.js per l'uso in applicazioni web.

In questa guida, abbiamo esplorato come esportare i modelli Ultralytics YOLO26 nel formato TF GraphDef. Facendo ciò, puoi distribuire in modo flessibile i tuoi modelli YOLO26 ottimizzati in diversi ambienti.

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

Per ulteriori informazioni sull'integrazione di Ultralytics YOLO26 con altre piattaforme e framework, consulta la nostra pagina della guida all'integrazione.

FAQ

Come posso esportare un modello YOLO26 nel formato TF GraphDef?

I modelli Ultralytics YOLO26 possono essere esportati senza problemi nel formato TensorFlow GraphDef (TF GraphDef). Questo formato fornisce una rappresentazione serializzata e indipendente dalla piattaforma del modello, ideale per il deployment in ambienti vari come mobile e web. Per esportare un modello YOLO26 in TF GraphDef, segui questi passaggi:

Utilizzo
from ultralytics import YOLO

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

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

Per maggiori informazioni sulle diverse opzioni di esportazione, visita la documentazione di Ultralytics sull'esportazione dei modelli.

Quali sono i vantaggi dell'utilizzo di TF GraphDef per il deployment dei modelli YOLO26?

Esportare i modelli YOLO26 nel formato TF GraphDef offre molteplici vantaggi, tra cui:

  1. Indipendenza dalla piattaforma: TF GraphDef fornisce un formato indipendente dalla piattaforma, consentendo ai modelli di essere distribuiti in vari ambienti, inclusi dispositivi mobili e browser web.
  2. Ottimizzazioni: Il formato abilita diverse ottimizzazioni, come constant folding, quantizzazione e trasformazioni dei grafi, che migliorano l'efficienza di esecuzione e riducono l'utilizzo della memoria.
  3. Accelerazione hardware: I modelli nel formato TF GraphDef possono sfruttare acceleratori hardware come GPU, TPU e chip AI per guadagni in termini di prestazioni.

Leggi ulteriori informazioni sui vantaggi nella sezione TF GraphDef della nostra documentazione.

Perché dovrei usare Ultralytics YOLO26 rispetto ad altri modelli di object detection?

Ultralytics YOLO26 offre numerosi vantaggi rispetto ad altri modelli come YOLOv5 e YOLOv7. Alcuni vantaggi chiave includono:

  1. Prestazioni allo stato dell'arte: YOLO26 fornisce velocità e precisione eccezionali per il rilevamento, la segmentazione e la classificazione degli oggetti in tempo reale.
  2. Facilità d'uso: Presenta un'API user-friendly per l'addestramento, la validazione, la previsione e l'esportazione dei modelli, rendendolo accessibile sia ai principianti che agli esperti.
  3. Ampia compatibilità: Supporta molteplici formati di esportazione tra cui ONNX, TensorRT, CoreML e TensorFlow, per opzioni di deployment versatili.

Esplora ulteriori dettagli nella nostra introduzione a YOLO26.

Come posso distribuire un modello YOLO26 su hardware specializzato utilizzando TF GraphDef?

Una volta esportato un modello YOLO26 nel formato TF GraphDef, puoi distribuirlo su varie piattaforme hardware specializzate. Gli scenari di deployment tipici includono:

  • TensorFlow Serving: Usa TensorFlow Serving per un deployment scalabile dei modelli in ambienti di produzione. Supporta la gestione dei modelli e un serving efficiente.
  • Dispositivi mobili: Converti i modelli TF GraphDef in TensorFlow Lite, ottimizzato per dispositivi mobili ed embedded, abilitando l'inferenza on-device.
  • Browser web: Distribuisci i modelli utilizzando TensorFlow.js per l'inferenza lato client nelle applicazioni web.
  • Acceleratori AI: Sfrutta TPU e chip AI personalizzati per un'inferenza accelerata.

Controlla la sezione opzioni di deployment per informazioni dettagliate.

Dove posso trovare soluzioni a problemi comuni durante l'esportazione dei modelli YOLO26?

Per la risoluzione dei problemi comuni legati all'esportazione dei modelli YOLO26, Ultralytics fornisce guide e risorse complete. Se riscontri problemi durante l'installazione o l'esportazione del modello, fai riferimento a:

Queste risorse dovrebbero aiutarti a risolvere la maggior parte dei problemi relativi all'esportazione e al deployment dei modelli YOLO26.

Commenti