Vai al contenuto

Come esportare in TF GraphDef da YOLO26 per il Deployment

Quando si effettua il deployment di modelli all'avanguardia di visione artificiale, come YOLO26, in ambienti diversi, si potrebbero riscontrare problemi di compatibilità. Il GraphDef di TensorFlow di Google, o TF GraphDef, offre una soluzione fornendo una rappresentazione serializzata e indipendente dalla piattaforma del modello. Utilizzando il formato del modello TF GraphDef, è possibile effettuare il deployment del modello YOLO26 in ambienti in cui l'ecosistema completo di TensorFlow potrebbe non essere disponibile, come dispositivi mobili o hardware specializzato.

In questa guida, ti illustreremo passo dopo passo come esportare i tuoi modelli Ultralytics YOLO26 nel formato del modello TF GraphDef. Convertendo il modello, puoi ottimizzare il deployment e utilizzare le capacità di visione artificiale di YOLO26 in una gamma più ampia di applicazioni e piattaforme.

Formato di serializzazioneGraphDef TensorFlow GraphDef

Perché dovresti esportare in TF GraphDef?

TF GraphDef è un componente potente dell'ecosistema TensorFlow sviluppato da Google. Può essere utilizzato per ottimizzare ed effettuare il deployment di modelli come YOLO26. L'esportazione in TF GraphDef consente di spostare i modelli dalla ricerca alle applicazioni del mondo reale. Permette ai modelli di funzionare in ambienti privi del framework TensorFlow completo.

Il formato GraphDef rappresenta il modello come un grafo computazionale serializzato. Ciò consente varie tecniche di ottimizzazione come il constant folding, la quantizzazione e le trasformazioni del grafo. Queste ottimizzazioni garantiscono un'esecuzione efficiente, un utilizzo ridotto della memoria e velocità di inferenza più elevate.

I modelli GraphDef possono utilizzare acceleratori hardware come GPU, TPU e chip AI, sbloccando significativi guadagni 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 diversi sistemi.

Caratteristiche principali dei modelli TF GraphDef

TF GraphDef offre funzionalità distinte per semplificare l'implementazione del modello e l'ottimizzazione.

Ecco uno sguardo alle sue caratteristiche principali:

  • Serializzazione del modello: TF GraphDef fornisce un modo per serializzare e archiviare i modelli TensorFlow in un formato indipendente dalla piattaforma. Questa rappresentazione serializzata consente di caricare ed eseguire i modelli senza il codice base python originale, semplificando la distribuzione.

  • Ottimizzazione del grafo: TF GraphDef consente l'ottimizzazione dei grafi computazionali. Queste ottimizzazioni possono aumentare le prestazioni semplificando il flusso di esecuzione, riducendo le ridondanze e adattando le operazioni per adattarsi a hardware specifici.

  • Flessibilità di implementazione: 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 una più ampia implementazione dei tuoi modelli TensorFlow.

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

Opzioni di distribuzione con TF GraphDef

Prima di addentrarci nel processo di esportazione dei modelli YOLO26 in TF GraphDef, esaminiamo alcune situazioni di deployment tipiche in cui viene utilizzato questo formato.

Ecco come puoi implementare con TF GraphDef in modo efficiente su varie piattaforme.

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

  • Dispositivi mobili ed embedded: Con strumenti come TensorFlow Lite, è possibile convertire i modelli TF GraphDef in formati ottimizzati per smartphone, tablet e vari dispositivi embedded. I modelli possono quindi essere utilizzati per l'inferenza on-device, dove l'esecuzione avviene localmente, offrendo spesso vantaggi in termini di prestazioni e funzionalità offline.

  • Browser Web:TensorFlow.js consente il deployment dei modelli TF GraphDef direttamente all'interno dei browser web. Ciò apre la strada ad applicazioni di object detection in tempo reale eseguite lato client, utilizzando le capacità di YOLO26 tramite JavaScript.

  • Hardware specializzato: La natura indipendente dalla piattaforma di TF GraphDef gli consente di indirizzare hardware personalizzato, come acceleratori e TPU (Tensor Processing Units). Questi dispositivi possono fornire vantaggi in termini di prestazioni per modelli computazionalmente intensivi.

Esportazione di modelli YOLO26 in TF GraphDef

È possibile convertire il modello di object detection YOLO26 nel formato TF GraphDef, compatibile con vari sistemi, per migliorarne le prestazioni su diverse 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, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti richiesti per YOLO26, se 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 out-of-the-box, rendendo facile integrarli nel flusso di lavoro di deployment preferito. È possibile visualizzare l'elenco completo dei formati di esportazione e delle opzioni di configurazione supportati per scegliere la configurazione migliore per la propria 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")
# Export a YOLO26n PyTorch model to TF GraphDef format
yolo export model=yolo26n.pt format=pb # creates 'yolo26n.pb'

# Run inference with the exported model
yolo predict model='yolo26n.pb' source='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 oppure 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 del batch di inferenza del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in modalità predict .
devicestrNoneSpecifica il dispositivo per l'esportazione: CPU (device=cpu), MPS per Apple silicon (device=mps).

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

Deployment di modelli YOLO26 TF GraphDef esportati

Una volta esportato il modello YOLO26 nel formato TF GraphDef, il passo successivo è il deployment. Il primo passo principale e raccomandato 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 sull'implementazione dei tuoi modelli TF GraphDef, dai un'occhiata alle seguenti risorse:

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

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

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

Riepilogo

In questa guida, abbiamo esplorato come esportare i modelli Ultralytics YOLO26 nel formato TF GraphDef. In questo modo, è possibile effettuare il deployment in modo flessibile dei modelli YOLO26 ottimizzati in diversi ambienti.

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

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

FAQ

Come si esporta 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 diversi 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")
# Export a YOLO26n PyTorch model to TF GraphDef format
yolo export model="yolo26n.pt" format="pb" # creates 'yolo26n.pb'

# Run inference with the exported model
yolo predict model="yolo26n.pb" source="https://ultralytics.com/images/bus.jpg"

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

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

L'esportazione dei modelli YOLO26 nel formato TF GraphDef offre numerosi vantaggi, tra cui:

  1. Indipendenza dalla piattaforma: TF GraphDef fornisce un formato indipendente dalla piattaforma, consentendo l'implementazione di modelli in vari ambienti, inclusi browser per dispositivi mobili e web.
  2. Ottimizzazioni: Il formato consente diverse ottimizzazioni, come il constant folding, la quantizzazione e le trasformazioni del grafo, che migliorano l'efficienza dell'esecuzione e riducono l'utilizzo della memoria.
  3. Accelerazione hardware: I modelli in formato TF GraphDef possono sfruttare acceleratori hardware come GPU, TPU e chip AI per ottenere miglioramenti delle prestazioni.

Leggi di più 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 all'avanguardia: YOLO26 offre velocità e precisione eccezionali per l'object detection, la segmentation e la classificazione in tempo reale.
  2. Facilità d'uso: Dispone di un'API intuitiva per l'addestramento, la convalida, la previsione e l'esportazione di modelli, rendendolo accessibile sia ai principianti che agli esperti.
  3. Ampia compatibilità: Supporta più formati di esportazione tra cui ONNX, TensorRT, CoreML e TensorFlow, per opzioni di implementazione versatili.

Esplora ulteriori dettagli nella nostra introduzione a YOLO26.

Come posso effettuare il deployment di un modello YOLO26 su hardware specializzato utilizzando TF GraphDef?

Una volta che un modello YOLO26 è stato esportato nel formato TF GraphDef, è possibile effettuarne il deployment su diverse piattaforme hardware specializzate. Gli scenari di deployment tipici includono:

  • TensorFlow Serving: Utilizza TensorFlow Serving per l'implementazione scalabile di modelli in ambienti di produzione. Supporta la gestione dei modelli e un serving efficiente.
  • Dispositivi mobili: Converti i modelli TF GraphDef in TensorFlow Lite, ottimizzati per dispositivi mobili ed embedded, consentendo l'inferenza sul dispositivo.
  • Browser web: Implementa modelli utilizzando TensorFlow.js per l'inferenza lato client nelle applicazioni web.
  • Acceleratori AI: Sfrutta le TPU e i chip AI personalizzati per l'inferenza accelerata.

Consulta la sezione opzioni di implementazione per informazioni dettagliate.

Dove posso trovare soluzioni per problemi comuni durante l'esportazione di modelli YOLO26?

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

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



📅 Creato 1 anno fa ✏️ Aggiornato 5 giorni fa
glenn-jocherlakshanthadpderrengerlakshanthadUltralyticsAssistantMatthewNoyceRizwanMunawarRizwanMunawarBurhan-Qabirami-vina

Commenti