Capire come esportare in formato TF SavedModel da YOLO11
La distribuzione dei modelli di apprendimento automatico può essere impegnativa. Tuttavia, l'uso di un formato di modello efficiente e flessibile può rendere il lavoro più facile. TF SavedModel è un framework open-source per l'apprendimento automatico usato da TensorFlow per caricare i modelli di apprendimento automatico in modo coerente. È come una valigia per i modelli di TensorFlow , che li rende facili da trasportare e da usare su dispositivi e sistemi diversi.
Imparare a esportare in TF SavedModel dai modelli può aiutare a distribuire facilmente i modelli su diverse piattaforme e ambienti. Ultralytics YOLO11 può aiutare a distribuire facilmente i modelli su piattaforme e ambienti diversi. In questa guida spiegheremo come convertire i modelli nel formato TF SavedModel , semplificando il processo di esecuzione delle inferenze con i modelli su diversi dispositivi.
Perché esportare in TF SavedModel ?
Il formato TensorFlow SavedModel fa parte dell'ecosistema TensorFlow sviluppato da Google come mostrato di seguito. È stato progettato per salvare e serializzare i modelli TensorFlow senza problemi. Incapsula i dettagli completi dei modelli, come l'architettura, i pesi e persino le informazioni di compilazione. In questo modo è facile condividere, distribuire e continuare l'addestramento in ambienti diversi.
TF SavedModel ha un vantaggio fondamentale: la compatibilità. Funziona bene con TensorFlow Serving, TensorFlow Lite e TensorFlow.js. Questa compatibilità rende più facile condividere e distribuire i modelli su varie piattaforme, comprese le applicazioni web e mobili. Il formato TF SavedModel è utile sia per la ricerca che per la produzione. Fornisce un modo unificato di gestire i modelli, assicurando che siano pronti per qualsiasi applicazione.
Caratteristiche principali di TF SavedModels
Ecco le caratteristiche principali che rendono TF SavedModel un'ottima opzione per gli sviluppatori di intelligenza artificiale:
-
Portabilità: TF SavedModel fornisce un formato di serializzazione ermetico, recuperabile e neutrale dal punto di vista linguistico. Consentono a sistemi e strumenti di livello superiore di produrre, consumare e trasformare i modelli TensorFlow . I SavedModels possono essere facilmente condivisi e distribuiti su piattaforme e ambienti diversi.
-
Facilità di distribuzione: TF SavedModel raggruppa il grafo computazionale, i parametri addestrati e i metadati necessari in un unico pacchetto. Possono essere facilmente caricati e utilizzati per l'inferenza senza richiedere il codice originale che ha costruito il modello. Questo rende la distribuzione dei modelli di TensorFlow semplice ed efficiente in vari ambienti di produzione.
-
Gestione delle risorse: TF SavedModel supporta l'inclusione di risorse esterne come vocabolari, embeddings o tabelle di ricerca. Queste risorse vengono memorizzate insieme alla definizione del grafo e alle variabili, assicurando che siano disponibili quando il modello viene caricato. Questa funzione semplifica la gestione e la distribuzione dei modelli che si basano su risorse esterne.
Opzioni di distribuzione con TF SavedModel
Prima di addentrarci nel processo di esportazione dei modelli YOLO11 nel formato TF SavedModel , analizziamo alcuni scenari di distribuzione tipici in cui si utilizza questo formato.
TF SavedModel offre una serie di opzioni per distribuire i modelli di apprendimento automatico:
-
TensorFlow Serving: TensorFlow Serving è un sistema di serving flessibile e ad alte prestazioni progettato per gli ambienti di produzione. Supporta in modo nativo TF SavedModels, semplificando la distribuzione e il servizio dei modelli su piattaforme cloud, server on-premises o dispositivi edge.
-
Piattaforme cloud: I principali fornitori di cloud come Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure offrono servizi per la distribuzione e l'esecuzione di TensorFlow modelli, compresi TF SavedModels. Questi servizi forniscono un'infrastruttura scalabile e gestita che consente di distribuire e scalare facilmente i modelli.
-
Dispositivi mobili e incorporati: TensorFlow Lite, una soluzione leggera per l'esecuzione di modelli di apprendimento automatico su dispositivi mobili, embedded e IoT, supporta la conversione di TF SavedModels nel formato TensorFlow Lite. Ciò consente di distribuire i modelli su un'ampia gamma di dispositivi, da smartphone e tablet a microcontrollori e dispositivi edge.
-
TensorFlow Tempo di esecuzione: TensorFlow Tempo di esecuzione (
tfrt
) è un runtime ad alte prestazioni per l'esecuzione di TensorFlow grafici. Fornisce API di livello inferiore per il caricamento e l'esecuzione di TF SavedModels in ambienti C++. TensorFlow Il runtime offre prestazioni migliori rispetto al runtime standard di TensorFlow . È adatto a scenari di distribuzione che richiedono un'inferenza a bassa latenza e una stretta integrazione con le basi di codice C++ esistenti.
Esportazione dei modelli YOLO11 in TF SavedModel
Esportando i modelli di YOLO11 nel formato TF SavedModel , ne migliorate l'adattabilità e la facilità di distribuzione su diverse piattaforme.
Installazione
Per installare il pacchetto richiesto, eseguire:
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 SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
# Run inference
results = tf_savedmodel_model("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 SavedModel
Dopo aver esportato il modello YOLO11 nel formato TF SavedModel , il passo successivo è quello di distribuirlo. Il primo passo primario e consigliato per eseguire un modello TF GraphDef è utilizzare il metodo YOLO("./yolo11n_saved_model"), come mostrato in precedenza nel frammento di codice d'uso.
Tuttavia, per istruzioni approfondite sulla distribuzione dei modelli TF SavedModel , consultate le seguenti risorse:
-
TensorFlow Servizio: Ecco la documentazione per gli sviluppatori su come distribuire i modelli di TF SavedModel utilizzando TensorFlow Serving.
-
Eseguire un TensorFlow SavedModel in Node.js: Un post del blog TensorFlow sull'esecuzione di un TensorFlow SavedModel in Node.js direttamente senza conversione.
-
Distribuzione su Cloud: Un post del blog TensorFlow sulla distribuzione di un modello TensorFlow SavedModel sulla Cloud AI Platform.
Sintesi
In questa guida abbiamo analizzato come esportare i modelli Ultralytics YOLO11 nel formato TF SavedModel . Esportando in TF SavedModel , si ottiene la flessibilità necessaria per ottimizzare, distribuire e scalare i modelli YOLO11 su un'ampia gamma di piattaforme.
Per ulteriori dettagli sull'uso, visitate la documentazione ufficiale di TF SavedModel .
Per ulteriori informazioni sull'integrazione di Ultralytics YOLO11 con altre piattaforme e framework, non dimenticate di consultare la nostra pagina della guida all'integrazione. È ricca di ottime risorse per aiutarvi a sfruttare al meglio YOLO11 nei vostri progetti.
FAQ
Come si esporta un modello Ultralytics YOLO in formato TensorFlow SavedModel ?
L'esportazione di un modello Ultralytics YOLO nel formato TensorFlow SavedModel è semplice. A tale scopo si può usare Python o CLI :
Esportazione di YOLO11 in TF SavedModel
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
Per ulteriori dettagli, consultare la documentazione di Ultralytics Export.
Perché utilizzare il formato TensorFlow SavedModel ?
Il formato TensorFlow SavedModel offre diversi vantaggi per la distribuzione dei modelli:
- Portabilità: Fornisce un formato neutro rispetto al linguaggio, che facilita la condivisione e la distribuzione dei modelli in ambienti diversi.
- Compatibilità: Si integra perfettamente con strumenti come TensorFlow Serving, TensorFlow Lite e TensorFlow.js, essenziali per distribuire i modelli su varie piattaforme, comprese le applicazioni web e mobili.
- Incapsulamento completo: Codifica l'architettura del modello, i pesi e le informazioni di compilazione, consentendo una condivisione semplice e la continuazione della formazione.
Per ulteriori vantaggi e opzioni di implementazione, consultate le opzioni di implementazione del modelloUltralytics YOLO .
Quali sono gli scenari tipici di implementazione di TF SavedModel ?
TF SavedModel può essere distribuito in vari ambienti, tra cui:
- TensorFlow Serving: Ideale per gli ambienti di produzione che richiedono un model serving scalabile e ad alte prestazioni.
- Piattaforme cloud: Supporta i principali servizi cloud come Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure per la distribuzione di modelli scalabili.
- Dispositivi mobili e incorporati: L'uso di TensorFlow Lite per convertire i SavedModel di TF consente di utilizzare dispositivi mobili, dispositivi IoT e microcontrollori.
- TensorFlow Runtime: Per gli ambienti C++ che necessitano di un'inferenza a bassa latenza con prestazioni migliori.
Per informazioni dettagliate sulle opzioni di distribuzione, visitate le guide ufficiali sulla distribuzione dei modelli TensorFlow .
Come posso installare i pacchetti necessari per esportare i modelli di YOLO11 ?
Per esportare i modelli di YOLO11 , è necessario installare il programma ultralytics
pacchetto. Eseguite il seguente comando nel vostro terminale:
Per istruzioni più dettagliate sull'installazione e sulle migliori pratiche, consultare la guida all'installazione diUltralytics . In caso di problemi, consultare la nostra guida ai problemi comuni.
Quali sono le caratteristiche principali del formato TensorFlow SavedModel ?
TF SavedModel Il formato è vantaggioso per gli sviluppatori di IA grazie alle seguenti caratteristiche:
- Portabilità: Consente la condivisione e la distribuzione in diversi ambienti senza alcuno sforzo.
- Facilità di distribuzione: Incapsula il grafo computazionale, i parametri addestrati e i metadati in un unico pacchetto, semplificando il caricamento e l'inferenza.
- Gestione delle risorse: Supporta asset esterni come i vocabolari, assicurando che siano disponibili al momento del caricamento del modello.
Per ulteriori dettagli, consultate la documentazione ufficiale di TensorFlow .