Vai al contenuto

Come esportare in TF GraphDef da YOLO11 per la distribuzione

Quando si utilizzano modelli di computer vision all'avanguardia, come YOLO11, in ambienti diversi, si possono verificare problemi di compatibilità. Google's TensorFlow GraphDef o TF GraphDef , offre una soluzione fornendo una rappresentazione serializzata e indipendente dalla piattaforma del modello. Utilizzando il formato del modello TF GraphDef , è possibile distribuire il modello YOLO11 in ambienti in cui l'ecosistema completo TensorFlow potrebbe non essere disponibile, come ad esempio i dispositivi mobili o l'hardware specializzato.

In questa guida, vi spiegheremo passo dopo passo come esportare i vostri Ultralytics YOLO11 modelli nel formato di modello TF GraphDef . La conversione del modello consente di semplificare la distribuzione e di utilizzare le funzionalità di computer vision di YOLO11 in una gamma più ampia di applicazioni e piattaforme.

TensorFlow GraphDef

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 YOLO11. L'esportazione in TF GraphDef ci permette di spostare i modelli dalla ricerca alle applicazioni reali. Permette ai modelli di essere eseguiti in ambienti senza il framework completo di TensorFlow .

Il formato GraphDef rappresenta il modello come un grafo di calcolo serializzato. Ciò consente varie tecniche di ottimizzazione, come il ripiegamento delle costanti, la quantizzazione e le trasformazioni del grafo. Queste ottimizzazioni garantiscono un'esecuzione efficiente, un uso ridotto della memoria e una maggiore velocità di inferenza.

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

Caratteristiche principali dei modelli TF GraphDef

TF GraphDef offre caratteristiche distinte per semplificare la distribuzione e l'ottimizzazione dei modelli.

Ecco una panoramica delle sue caratteristiche principali:

  • Serializzazione dei modelli: TF GraphDef fornisce un modo per serializzare e memorizzare i modelli TensorFlow in un formato indipendente dalla piattaforma. Questa rappresentazione serializzata consente di caricare ed eseguire i modelli senza la base di codice originale di Python , rendendo più semplice la distribuzione.

  • Ottimizzazione dei grafi: TF GraphDef consente di ottimizzare i grafi computazionali. Queste ottimizzazioni possono aumentare le prestazioni snellendo il flusso di esecuzione, riducendo le ridondanze e adattando le operazioni a un hardware specifico.

  • Flessibilità di distribuzione: I modelli esportati nel formato GraphDef possono essere utilizzati in vari ambienti, tra cui dispositivi con risorse limitate, browser web e sistemi con hardware specializzato. Questo apre la possibilità di una più ampia distribuzione dei modelli TensorFlow .

  • Focus sulla produzione: GraphDef è progettato per la distribuzione in produzione. Supporta un'esecuzione efficiente, funzioni di serializzazione e ottimizzazioni in linea con i casi d'uso reali.

Opzioni di distribuzione con TF GraphDef

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

Ecco come è possibile distribuire TF GraphDef in modo efficiente su diverse piattaforme.

  • TensorFlow Servire: Questo framework è progettato per distribuire i modelli di TensorFlow in ambienti di produzione. TensorFlow Serving offre la gestione dei modelli, il versioning e l'infrastruttura per un efficiente servizio di modelli su scala. È un modo semplice per integrare i modelli basati su GraphDef nei servizi web o nelle API di produzione.

  • Dispositivi mobili e incorporati: Con strumenti come TensorFlow Lite, è possibile convertire i modelli di TF GraphDef in formati ottimizzati per smartphone, tablet e vari dispositivi embedded. I modelli possono quindi essere utilizzati per l'inferenza su dispositivo, dove l'esecuzione avviene localmente, offrendo spesso un aumento delle prestazioni e funzionalità offline.

  • Browser Web: TensorFlow.js consente di distribuire i modelli TF GraphDef direttamente all'interno dei browser Web. Apre la strada ad applicazioni di rilevamento degli oggetti in tempo reale eseguite sul lato client, utilizzando le capacità di YOLO11 attraverso JavaScript.

  • Hardware specializzato: la natura di TF GraphDef 's platform-agnostic permette di puntare su hardware personalizzato, come acceleratori e TPU (Tensor Processing Unit). Questi dispositivi possono fornire vantaggi in termini di prestazioni per i modelli ad alta intensità di calcolo.

Esportazione dei modelli YOLO11 in TF GraphDef

È possibile convertire il modello di rilevamento degli oggetti YOLO11 nel formato TF GraphDef , compatibile con vari sistemi, per migliorarne le prestazioni su tutte le piattaforme.

Installazione

Per installare il pacchetto richiesto, eseguire:

Installazione

# Install the required package for YOLO11
pip install ultralytics

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consultare la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLO11, se si incontrano difficoltà, consultare la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo

Prima di immergersi nelle istruzioni d'uso, è importante notare che tutti i modelli diUltralytics YOLO11 sono disponibili per l'esportazione, ma è possibile assicurarsi che il modello selezionato supporti la funzionalità di esportazione qui.

Utilizzo

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb  # creates 'yolo11n.pb'

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

Per maggiori dettagli sulle opzioni di esportazione supportate, visitate la pagina di documentazioneUltralytics sulle opzioni di distribuzione.

Distribuzione di modelli esportati YOLO11 TF GraphDef

Una volta esportato il modello YOLO11 nel formato TF GraphDef , il passo successivo è la distribuzione. Il primo passo principale e consigliato per eseguire un modello TF GraphDef è usare il metodo YOLO("model.pb"), come mostrato in precedenza nel frammento di codice d'uso.

Tuttavia, per ulteriori informazioni sulla distribuzione dei modelli TF GraphDef , consultate le seguenti risorse:

  • TensorFlow Servizio: Una guida su TensorFlow Serving che insegna come distribuire e servire i modelli di apprendimento automatico in modo efficiente negli ambienti di produzione.

  • TensorFlow Lite: Questa pagina descrive come convertire i modelli di apprendimento automatico in un formato ottimizzato per l'inferenza sul dispositivo con TensorFlow Lite.

  • TensorFlow.js: Una guida alla conversione dei modelli che insegna come convertire i modelli di TensorFlow o Keras nel formato TensorFlow.js per utilizzarli nelle applicazioni web.

Sintesi

In questa guida abbiamo analizzato come esportare i modelli Ultralytics YOLO11 nel formato TF GraphDef . In questo modo è possibile distribuire in modo flessibile i modelli YOLO11 ottimizzati in ambienti diversi.

Per ulteriori dettagli sull'uso, visitate la documentazione ufficiale di TF GraphDef .

Per ulteriori informazioni sull'integrazione di Ultralytics YOLO11 con altre piattaforme e framework, non dimenticate di consultare la nostra pagina della guida all'integrazione. Contiene ottime risorse e approfondimenti per aiutarvi a sfruttare al meglio YOLO11 nei vostri progetti.

FAQ

Come si esporta un modello YOLO11 nel formato TF GraphDef ?

Ultralytics YOLO11 possono essere esportati in formato TensorFlow GraphDef (TF GraphDef ) senza problemi. 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 YOLO11 in formato TF GraphDef , procedere come segue:

Utilizzo

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb"  # creates 'yolo11n.pb'

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

Per ulteriori informazioni sulle diverse opzioni di esportazione, consultare la documentazione diUltralytics sull'esportazione dei modelli.

Quali sono i vantaggi dell'utilizzo di TF GraphDef per la distribuzione del modello YOLO11 ?

L'esportazione dei modelli YOLO11 nel formato TF GraphDef offre molteplici vantaggi, tra cui:

  1. Indipendenza dalla piattaforma: TF GraphDef offre un formato indipendente dalla piattaforma, che consente di distribuire i modelli in vari ambienti, compresi i browser mobili e web.
  2. Ottimizzazioni: Il formato consente diverse ottimizzazioni, come il ripiegamento delle costanti, la quantizzazione e le trasformazioni dei grafi, che migliorano l'efficienza dell'esecuzione e riducono l'uso della memoria.
  3. Accelerazione hardware: I modelli in formato TF GraphDef possono sfruttare acceleratori hardware come GPU, TPU e chip di intelligenza artificiale per aumentare le prestazioni.

Per ulteriori informazioni sui vantaggi, consultare la sezioneTF GraphDef della nostra documentazione.

Perché utilizzare Ultralytics YOLO11 rispetto ad altri modelli di rilevamento degli oggetti?

Ultralytics YOLO11 offre numerosi vantaggi rispetto ad altri modelli come YOLOv5 e YOLOv7. Alcuni dei principali vantaggi includono:

  1. Prestazioni all'avanguardia: YOLO11 offre velocità e precisione eccezionali per il rilevamento, la segmentazione e la classificazione degli oggetti in tempo reale.
  2. Facilità d'uso: Dispone di un'API di facile utilizzo per l'addestramento, la convalida, la previsione e l'esportazione del modello, che lo rende accessibile sia ai principianti che agli esperti.
  3. Ampia compatibilità: Supporta diversi formati di esportazione, tra cui ONNX, TensorRT, CoreML e TensorFlow, per offrire opzioni di distribuzione versatili.

Per ulteriori dettagli, consultate la nostra introduzione a YOLO11.

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

Una volta esportato un modello YOLO11 nel formato TF GraphDef , è possibile distribuirlo su varie piattaforme hardware specializzate. Gli scenari di distribuzione tipici includono:

  • TensorFlow Serving: Utilizzare TensorFlow Serving per la distribuzione scalabile dei modelli negli ambienti di produzione. Supporta la gestione dei modelli e un servizio efficiente.
  • Dispositivi mobili: Convertire i modelli TF GraphDef in TensorFlow Lite, ottimizzati per i dispositivi mobili e incorporati, consentendo l'inferenza sul dispositivo.
  • Browser web: Distribuire modelli utilizzando TensorFlow.js per l'inferenza lato client nelle applicazioni web.
  • Acceleratori di intelligenza artificiale: Sfruttare le TPU e i chip AI personalizzati per accelerare l'inferenza.

Per informazioni dettagliate, consultare la sezione Opzioni di installazione.

Dove posso trovare le soluzioni ai problemi più comuni durante l'esportazione dei modelli YOLO11 ?

Per la risoluzione dei problemi più comuni legati all'esportazione dei modelli YOLO11 , Ultralytics fornisce guide e risorse complete. Se si riscontrano problemi durante l'installazione o l'esportazione dei modelli, consultare:

Queste risorse dovrebbero aiutare a risolvere la maggior parte dei problemi legati all'esportazione e alla distribuzione dei modelli YOLO11 .

📅C reato 8 mesi fa ✏️ Aggiornato 2 mesi fa

Commenti