Come esportare da YOLO26 in TF GraphDef per la distribuzione#
Quando distribuisci modelli all'avanguardia di visione artificiale, come YOLO26, in ambienti diversi, potresti riscontrare problemi di compatibilità. GraphDef di TensorFlow di Google, o TF GraphDef, offre una soluzione fornendo una rappresentazione serializzata e indipendente dalla piattaforma del modello. Usando il formato TF GraphDef, puoi distribuire il modello YOLO26 in ambienti in cui l'intero ecosistema TensorFlow potrebbe non essere disponibile, ad esempio sui dispositivi mobili o su hardware specializzato.
In questa guida ti spiegheremo passo dopo passo come esportare i tuoi modelli Ultralytics YOLO26 nel formato TF GraphDef. Convertendo il modello, puoi semplificare la distribuzione e sfruttare le funzionalità di visione artificiale 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 usato per ottimizzare e distribuire modelli come YOLO26. Esportando in TF GraphDef, puoi trasferire i modelli dalla ricerca alle applicazioni reali. Consente ai modelli di funzionare in ambienti privi dell'intero framework TensorFlow.
Il formato GraphDef rappresenta il modello come un grafo di calcolo 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 minore utilizzo della memoria e inferenze più rapide.
I modelli GraphDef possono sfruttare acceleratori hardware come GPU, TPU e chip AI, ottenendo notevoli miglioramenti delle prestazioni nella pipeline di inferenza di YOLO26. Il formato TF GraphDef crea un pacchetto autonomo che include il modello e le sue dipendenze, semplificando la distribuzione e l'integrazione in sistemi diversi.
Caratteristiche principali dei modelli TF GraphDef#
TF GraphDef offre funzionalità specifiche per semplificare la distribuzione dei modelli e la loro ottimizzazione.
Ecco le sue caratteristiche principali:
-
Serializzazione dei modelli: TF GraphDef consente di serializzare e archiviare i modelli TensorFlow in un formato indipendente dalla piattaforma. Questa rappresentazione serializzata ti permette di caricare ed eseguire i modelli senza la codebase Python originale, semplificandone la distribuzione.
-
Ottimizzazione dei grafi: 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 in formato GraphDef possono essere usati in ambienti diversi, inclusi dispositivi con risorse limitate, browser web e sistemi con hardware specializzato. Questo apre nuove possibilità per distribuire i tuoi modelli TensorFlow su scala più ampia.
-
Pensato per la produzione: GraphDef è progettato per la distribuzione in produzione. Supporta un'esecuzione efficiente, funzionalità di serializzazione e ottimizzazioni adatte a casi d'uso reali.
Opzioni di distribuzione con TF GraphDef#
Prima di approfondire il processo di esportazione dei modelli YOLO26 in TF GraphDef, vediamo alcuni scenari tipici in cui si usa questo formato.
Ecco come distribuire in modo efficiente con TF GraphDef su diverse piattaforme.
-
TensorFlow Serving: Questo framework è progettato per distribuire modelli TensorFlow in ambienti di produzione. TensorFlow Serving offre gestione dei modelli, controllo delle versioni e l'infrastruttura necessaria per servire modelli in modo efficiente su larga scala. È un modo semplice per integrare i modelli basati su GraphDef nei servizi web o nelle API di produzione.
-
Dispositivi mobili e integrati: Con strumenti come LiteRT, puoi convertire i modelli TF GraphDef in formati ottimizzati per smartphone, tablet e vari dispositivi integrati. Potrai quindi usare i modelli per eseguire inferenze sul dispositivo, localmente, spesso ottenendo prestazioni migliori e funzionalità offline.
-
Browser web: TensorFlow.js consente di distribuire i modelli TF GraphDef direttamente nei browser web. Questo apre la strada ad applicazioni di rilevamento di oggetti in tempo reale eseguite lato client, che sfruttano le funzionalità di YOLO26 tramite JavaScript.
-
Hardware specializzato: La natura indipendente dalla piattaforma di TF GraphDef consente di usarlo con hardware personalizzato, come acceleratori e TPU (unità di elaborazione tensoriale). Questi dispositivi possono offrire vantaggi prestazionali per i modelli a elevata intensità di calcolo.
Attività supportate#
L'esportazione TF GraphDef supporta sei dei sette task di Ultralytics. La segmentazione semantica e la stima della profondità sono disponibili solo con YOLO26, l'unica famiglia che include queste head. I modelli di posa possono essere esportati, ma al momento l'inferenza Ultralytics con GraphDef non è supportata per questi modelli.
| Attività | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Rilevamento | ✅ | ✅ | ✅ |
| Segmentazione | ✅ | ✅ | ✅ |
| Semantica | ❌ | ❌ | ✅ |
| Profondità | ❌ | ❌ | ✅ |
| Classificazione | ✅ | ✅ | ✅ |
| Stima della posa | ✅ | ✅ | ✅ |
| OBB | ❌ | ❌ | ❌ |
Esportazione dei modelli YOLO26 in TF GraphDef#
Puoi convertire il tuo modello YOLO26 nel formato TF GraphDef, compatibile con diversi sistemi, per migliorarne le prestazioni su più piattaforme.
Installazione#
Per installare il pacchetto richiesto, esegui:
# Install the required package for YOLO26
pip install ultralyticsPer istruzioni dettagliate e best practice sulla procedura 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 workflow di distribuzione che preferisci. Puoi consultare l'elenco completo dei formati di esportazione supportati e delle opzioni di configurazione per scegliere la configurazione più adatta alla tua applicazione.
Il formato TF GraphDef supporta le modalità Export, Predict e Validate, con l'eccezione dei modelli di posa, che al momento supportano solo l'esportazione. Esporta il modello, quindi carica il modello esportato per eseguire inferenze o convalidarne la precisione.
from ultralytics import YOLO
# Carica un modello YOLO26
model = YOLO("yolo26n.pt")
# Esporta il modello nel formato TF GraphDef
model.export(format="pb") # crea 'yolo26n.pb'from ultralytics import YOLO
# Carica il modello TF GraphDef esportato
model = YOLO("yolo26n.pb")
# Esegui l'inferenza
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Carica il modello TF GraphDef esportato
model = YOLO("yolo26n.pb")
# # Convalida l'accuratezza sul dataset COCO8
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 i vari ambienti di distribuzione. |
imgsz | int o tuple | 640 | Dimensione dell'immagine desiderata per l'input del modello. Può essere un 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 in fase di esportazione. |
opset | int | None | Specifica la versione opset ONNX per il grafo ONNX intermedio. Se non è impostata, viene usata l'ultima versione supportata. |
batch | int | 1 | Specifica la dimensione batch per l'inferenza del modello esportato o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente 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 dedicata all'esportazione.
Distribuzione dei modelli YOLO26 TF GraphDef esportati#
Dopo aver esportato il modello YOLO26 nel formato TF GraphDef, il passaggio successivo è distribuirlo. Il primo passaggio principale e consigliato per eseguire un modello TF GraphDef è usare il metodo YOLO("model.pb"), come mostrato in precedenza nello snippet di codice.
Per ulteriori informazioni sulla distribuzione dei 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 apprendimento automatico in ambienti di produzione.
-
TensorFlow Lite: questa pagina descrive come convertire i modelli di apprendimento automatico in un formato ottimizzato per le inferenze 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 usarli nelle applicazioni web.
Riepilogo#
In questa guida abbiamo visto come esportare i modelli Ultralytics YOLO26 nel formato TF GraphDef. In questo modo, puoi distribuire con flessibilità i modelli YOLO26 ottimizzati in ambienti diversi.
Per ulteriori dettagli sull'utilizzo, consulta 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.
Domande frequenti#
I modelli Ultralytics YOLO26 possono essere esportati facilmente 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 quelli mobili e web. Per esportare un modello YOLO26 in TF GraphDef, segui questi passaggi:
Utilizzofrom ultralytics import YOLO # Carica un modello YOLO26 model = YOLO("yolo26n.pt") # Esporta il modello nel formato TF GraphDef model.export(format="pb") # crea 'yolo26n.pb' # Carica il modello TF GraphDef esportato tf_graphdef_model = YOLO("yolo26n.pb") # Esegui l'inferenza results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")Per ulteriori informazioni sulle diverse opzioni di esportazione, consulta 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 offre un formato indipendente dalla piattaforma, che consente di distribuire i modelli in ambienti diversi, inclusi dispositivi mobili e browser web.
- Ottimizzazioni: Il formato consente diverse ottimizzazioni, come il constant folding, la quantizzazione e le trasformazioni del grafo, che migliorano l'efficienza di esecuzione e riducono l'utilizzo della memoria.
- Accelerazione hardware: I modelli in formato TF GraphDef possono sfruttare acceleratori hardware come GPU, TPU e chip AI per ottenere prestazioni migliori.
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:
- Prestazioni all'avanguardia: YOLO26 offre velocità e precisione eccezionali per il rilevamento di oggetti, la segmentazione di istanze, la segmentazione semantica e la classificazione in tempo reale.
- Facilità d'uso: offre un'API intuitiva per l'addestramento, la convalida, la predizione e l'esportazione dei modelli, 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.
Una volta esportato un modello YOLO26 nel formato TF GraphDef, puoi distribuirlo su diverse piattaforme hardware specializzate. Gli scenari di distribuzione tipici includono:
- TensorFlow Serving: usa TensorFlow Serving per distribuire modelli in modo scalabile negli 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 e integrati, per abilitare le inferenze sul dispositivo.
- Browser web: distribuisci i modelli usando TensorFlow.js per eseguire inferenze lato client nelle applicazioni web.
- Acceleratori AI: sfrutta le TPU e i chip AI personalizzati per accelerare le inferenze.
Consulta la sezione opzioni di distribuzione per informazioni dettagliate.
Per risolvere i problemi più comuni nell'esportazione dei modelli YOLO26, Ultralytics mette a disposizione guide e risorse complete. Se riscontri problemi durante l'installazione o l'esportazione dei modelli, consulta:
- Guida ai problemi comuni: offre soluzioni ai problemi più frequenti.
- Guida all'installazione: fornisce 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.