Come esportare in TF GraphDef da YOLO26 per la distribuzione#
Quando distribuisci modelli di computer vision all'avanguardia, come YOLO26, in ambienti diversi, potresti riscontrare problemi di compatibilità. Il TensorFlow GraphDef di Google, o TF GraphDef, offre una soluzione fornendo una rappresentazione serializzata e indipendente dalla piattaforma del tuo modello. Utilizzando il formato modello TF GraphDef, puoi distribuire il tuo modello YOLO26 in ambienti in cui l'intero ecosistema 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 modello TF GraphDef. Convertendo il tuo modello, puoi semplificare la distribuzione e utilizzare le funzionalità di computer vision di YOLO26 in una gamma più ampia di applicazioni e piattaforme.
Perché esportare in TF GraphDef?#
TF GraphDef è un potente componente 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 funzionare 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 del grafo. Queste ottimizzazioni garantiscono un'esecuzione efficiente, un minore utilizzo della memoria e velocità di inferenza più elevate.
I modelli GraphDef possono utilizzare acceleratori hardware come GPU, TPU e chip di intelligenza artificiale, sbloccando notevoli incrementi delle prestazioni per la pipeline di inferenza di YOLO26. Il formato TF GraphDef crea un pacchetto autonomo contenente il modello e le sue dipendenze, semplificando la distribuzione e l'integrazione in sistemi diversi.
Funzionalità principali dei modelli TF GraphDef#
TF GraphDef offre funzionalità specifiche per semplificare la distribuzione dei modelli e l'ottimizzazione.
Ecco una panoramica delle sue caratteristiche principali:
-
Serializzazione del modello: TF GraphDef offre un modo per serializzare e archiviare i modelli TensorFlow in un formato indipendente dalla piattaforma. Questa rappresentazione serializzata ti consente di caricare ed eseguire i tuoi modelli senza il codebase Python originale, semplificando la distribuzione.
-
Ottimizzazione del grafo: TF GraphDef consente di ottimizzare i grafi di calcolo. Queste ottimizzazioni possono migliorare le prestazioni semplificando il flusso di esecuzione, riducendo le ridondanze e adattando le operazioni all'hardware specifico.
-
Flessibilità di distribuzione: 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ò amplia le possibilità di distribuzione dei tuoi modelli TensorFlow.
-
Orientamento alla produzione: GraphDef è progettato per la distribuzione in produzione. Supporta un'esecuzione efficiente, funzionalità di serializzazione e ottimizzazioni in linea con i casi d'uso reali.
Opzioni di distribuzione con TF GraphDef#
Prima di entrare nel processo di esportazione dei modelli YOLO26 in TF GraphDef, diamo un'occhiata ad alcune situazioni tipiche di distribuzione in cui viene utilizzato questo formato.
Ecco come puoi distribuire in modo efficiente con TF GraphDef su varie piattaforme.
-
TensorFlow Serving: questo framework è progettato per distribuire i modelli TensorFlow in ambienti di produzione. TensorFlow Serving offre gestione dei modelli, controllo delle versioni e l'infrastruttura necessaria per fornire modelli in modo efficiente su larga scala. È un modo semplice per integrare i tuoi modelli basati su GraphDef in servizi web o API di produzione.
-
Dispositivi mobili ed embedded: con strumenti come LiteRT, 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 sul dispositivo, eseguita localmente, ottenendo spesso prestazioni migliori e funzionalità offline.
-
Browser web: TensorFlow.js consente di distribuire i modelli TF GraphDef direttamente nei browser web. Apre la strada ad applicazioni di rilevamento degli oggetti in tempo reale eseguite sul lato client, utilizzando le funzionalità di YOLO26 tramite JavaScript.
-
Hardware specializzato: la natura indipendente dalla piattaforma di TF GraphDef consente di utilizzare hardware personalizzato, come acceleratori e TPU (unità di elaborazione tensoriale). Questi dispositivi possono offrire vantaggi prestazionali per i modelli ad alta intensità di calcolo.
Attività supportate#
L'esportazione TF GraphDef supporta sei delle sette attività Ultralytics. La segmentazione semantica e la stima della profondità sono disponibili solo con YOLO26, l'unica famiglia che include queste head. I modelli pose possono essere esportati, ma l'inferenza GraphDef di Ultralytics non è attualmente supportata per questi modelli.
| Attività | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Rilevamento | ✅ | ✅ | ✅ |
| Segmentazione | ✅ | ✅ | ✅ |
| Semantica | ❌ | ❌ | ✅ |
| Profondità | ❌ | ❌ | ✅ |
| Classificazione | ✅ | ✅ | ✅ |
| Posa | ✅ | ✅ | ✅ |
| OBB | ❌ | ❌ | ❌ |
Esportazione dei modelli YOLO26 in TF GraphDef#
Puoi convertire il tuo modello YOLO26 nel formato TF GraphDef, compatibile con vari sistemi, per migliorarne le prestazioni su diverse piattaforme.
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 TF GraphDef supporta le modalità Export, Predict e Validate, ad eccezione dei modelli pose, che attualmente supportano solo l'esportazione. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o verificarne l'accuratezza.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Argomenti di esportazione#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'pb' | 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 | None | Esportazione FP32 fissa. GraphDef non supporta la conversione della precisione FP16, INT8 o W8A16 al momento dell'esportazione. |
opset | int | None | Specifica la versione dell'opset ONNX per il grafo ONNX intermedio. Se non impostata, viene utilizzata la versione supportata più recente. |
batch | int | 1 | Specifica la dimensione del batch di inferenza del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
device | str | None | Specifica 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 Ultralytics sull'esportazione.
Distribuzione dei modelli YOLO26 TF GraphDef esportati#
Dopo aver esportato il tuo modello YOLO26 nel formato TF GraphDef, il passaggio successivo è la distribuzione. Il primo passaggio principale e consigliato per eseguire un modello TF GraphDef consiste nell'utilizzare il metodo YOLO("model.pb"), come mostrato in precedenza nello snippet di codice di utilizzo.
Tuttavia, per ulteriori informazioni sulla distribuzione dei tuoi modelli TF GraphDef, consulta le seguenti risorse:
-
TensorFlow Serving: una guida a TensorFlow Serving che spiega come distribuire e servire in modo efficiente modelli di machine learning in ambienti di produzione.
-
TensorFlow Lite: questa pagina descrive come convertire i modelli di machine learning in un formato ottimizzato per l'inferenza sul dispositivo con TensorFlow Lite.
-
TensorFlow.js: una guida alla conversione dei modelli che spiega come convertire i modelli TensorFlow o Keras nel formato TensorFlow.js per l'utilizzo nelle applicazioni web.
Riepilogo#
In questa guida abbiamo illustrato come esportare i modelli Ultralytics YOLO26 nel formato TF GraphDef. In questo modo puoi distribuire in modo flessibile i tuoi modelli YOLO26 ottimizzati in ambienti diversi.
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 alle integrazioni.
FAQ#
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 la distribuzione in ambienti diversi, come dispositivi mobili e web. Per esportare un modello YOLO26 in TF GraphDef, segui questi passaggi:
Utilizzofrom ultralytics import YOLO # Load a 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 ulteriori informazioni sulle diverse opzioni di esportazione, visita la documentazione Ultralytics sull'esportazione dei modelli.
L'esportazione dei modelli YOLO26 nel formato TF GraphDef offre diversi vantaggi, tra cui:
- Indipendenza dalla piattaforma: TF GraphDef fornisce un formato indipendente dalla piattaforma, consentendo di distribuire i modelli in vari ambienti, inclusi dispositivi mobili e browser web.
- Ottimizzazioni: il formato abilita 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.
- Accelerazione hardware: i modelli nel formato TF GraphDef possono sfruttare acceleratori hardware come GPU, TPU e chip di intelligenza artificiale per ottenere migliori prestazioni.
Scopri di più sui vantaggi nella sezione TF GraphDef della nostra documentazione.
Ultralytics YOLO26 offre numerosi vantaggi rispetto ad altri modelli come YOLOv5 e YOLOv7. Tra i principali vantaggi:
- Prestazioni all'avanguardia: YOLO26 offre velocità e accuratezza eccezionali per il rilevamento degli oggetti in tempo reale, la segmentazione delle istanze, la segmentazione semantica e la classificazione.
- Facilità d'uso: offre un'API intuitiva per l'addestramento, la convalida, la previsione e l'esportazione dei modelli, rendendola accessibile sia ai principianti sia agli esperti.
- Ampia compatibilità: supporta diversi formati di esportazione, tra cui ONNX, TensorRT, CoreML e TensorFlow, per opzioni di distribuzione versatili.
Scopri ulteriori dettagli nella nostra introduzione a YOLO26.
Dopo aver esportato un modello YOLO26 nel formato TF GraphDef, puoi distribuirlo su varie piattaforme hardware specializzate. Gli scenari di distribuzione tipici includono:
- TensorFlow Serving: utilizza TensorFlow Serving per una distribuzione scalabile dei modelli in ambienti di produzione. Supporta la gestione dei modelli e la fornitura efficiente.
- Dispositivi mobili: converti i modelli TF GraphDef in TensorFlow Lite, ottimizzato per dispositivi mobili ed embedded, abilitando l'inferenza sul dispositivo.
- Browser web: distribuisci i modelli utilizzando TensorFlow.js per l'inferenza sul lato client nelle applicazioni web.
- Acceleratori di intelligenza artificiale: sfrutta TPU e chip di intelligenza artificiale personalizzati per accelerare l'inferenza.
Consulta la sezione opzioni di distribuzione per informazioni dettagliate.
Per la risoluzione dei problemi comuni relativi all'esportazione dei modelli YOLO26, Ultralytics mette a disposizione guide e risorse complete. Se riscontri problemi durante l'installazione o l'esportazione del modello, consulta:
- Guida ai problemi comuni: offre soluzioni ai problemi riscontrati più frequentemente.
- Guida all'installazione: istruzioni dettagliate per configurare i pacchetti necessari.
Queste risorse dovrebbero aiutarti a risolvere la maggior parte dei problemi relativi all'esportazione e alla distribuzione dei modelli YOLO26.