Link to this sectionComprendi come esportare nel formato TF SavedModel da YOLO26#
Il deploy di modelli di machine learning può essere complesso. Tuttavia, utilizzare un formato di modello efficiente e flessibile può semplificarti il lavoro. TF SavedModel è un framework di machine learning open-source utilizzato da TensorFlow per caricare i modelli in modo coerente. È come una valigia per i modelli TensorFlow, che li rende facili da trasportare e utilizzare su diversi dispositivi e sistemi.
Imparare come esportare modelli Ultralytics YOLO26 nel formato TF SavedModel può aiutarti a distribuire i modelli facilmente su diverse piattaforme e ambienti. In questa guida, vedremo come convertire i tuoi modelli nel formato TF SavedModel, semplificando il processo di esecuzione delle inferenze con i tuoi modelli su vari dispositivi.
Link to this sectionPerché dovresti esportare in TF SavedModel?#
Il formato TensorFlow SavedModel fa parte dell'ecosistema TensorFlow sviluppato da Google, come mostrato di seguito. È 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. Questo rende semplice la condivisione, il deploy e la prosecuzione dell'addestramento in diversi ambienti.
Il TF SavedModel ha un vantaggio chiave: la sua compatibilità. Funziona bene con TensorFlow Serving, TensorFlow Lite e TensorFlow.js. Questa compatibilità rende più facile condividere e distribuire modelli su varie piattaforme, incluse applicazioni web e mobile. Il formato TF SavedModel è utile sia per la ricerca che per la produzione. Fornisce un modo unificato per gestire i tuoi modelli, assicurando che siano pronti per qualsiasi applicazione.
Link to this sectionCaratteristiche principali di TF SavedModel#
Ecco le caratteristiche principali che rendono TF SavedModel un'ottima opzione per gli sviluppatori di AI:
-
Portabilità: TF SavedModel fornisce un formato di serializzazione ermetico, recuperabile e indipendente dal linguaggio. Consentono a sistemi e strumenti di livello superiore di produrre, consumare e trasformare modelli TensorFlow. I SavedModel possono essere facilmente condivisi e distribuiti su diverse piattaforme e ambienti.
-
Facilità di Deploy: 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 il deploy dei modelli 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 archiviate insieme alla definizione del grafo e alle variabili, garantendo che siano disponibili quando il modello viene caricato. Questa funzionalità semplifica la gestione e la distribuzione dei modelli che si basano su risorse esterne.
Link to this sectionOpzioni di deploy con TF SavedModel#
Prima di immergerci nel processo di esportazione dei modelli YOLO26 nel formato TF SavedModel, esploriamo alcuni scenari tipici di deploy in cui viene utilizzato questo formato.
TF SavedModel fornisce una gamma di opzioni per distribuire i tuoi modelli di machine learning:
-
TensorFlow Serving: TensorFlow Serving è un sistema di serving flessibile e ad alte prestazioni progettato per ambienti di produzione. Supporta nativamente i TF SavedModel, rendendo facile distribuire e servire i tuoi modelli su piattaforme cloud, server on-premise o dispositivi edge.
-
Piattaforme Cloud: I principali fornitori cloud come Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure offrono servizi per il deploy e l'esecuzione di modelli TensorFlow, inclusi i TF SavedModel. Questi servizi forniscono un'infrastruttura scalabile e gestita, consentendoti di distribuire e scalare facilmente i tuoi modelli.
-
Dispositivi mobili ed embedded: TensorFlow Lite, una soluzione leggera per eseguire modelli di machine learning su dispositivi mobili, embedded e IoT, supporta la conversione dei TF SavedModel nel formato TensorFlow Lite. Questo ti consente di distribuire i tuoi modelli su un'ampia gamma di dispositivi, dagli smartphone e tablet ai microcontrollori e dispositivi edge.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt) è un runtime ad alte prestazioni per l'esecuzione di grafi TensorFlow. Fornisce API di basso livello per caricare ed eseguire TF SavedModel in ambienti C++. TensorFlow Runtime offre prestazioni migliori rispetto al runtime standard di TensorFlow. È adatto per scenari di deploy che richiedono un'inferenza a bassa latenza e una stretta integrazione con basi di codice C++ esistenti.
Link to this sectionEsportazione di modelli YOLO26 in TF SavedModel#
Esportando i modelli YOLO26 nel formato TF SavedModel, ne aumenti l'adattabilità e la facilità di deploy su varie piattaforme.
Link to this sectionInstallazione#
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. Durante l'installazione dei pacchetti necessari per YOLO26, se riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Link to this sectionUtilizzo#
Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione nativamente, rendendo semplice integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione supportati e le opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.
Il formato TF SavedModel supporta le modalità Export, Predict e Validate. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o convalidarne la precisione.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionArgomenti di esportazione#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'saved_model' | Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione. |
imgsz | int o tuple | 640 | Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche. |
keras | bool | False | Abilita l'esportazione nel formato Keras, fornendo compatibilità con il serving e le API di TensorFlow. |
quantize | int o str | None | Precisione di quantizzazione: 8 (INT8/PTQ; richiede data/fraction di calibrazione) o 32/non impostato (FP32). FP16 non è supportato per l'esportazione SavedModel. Sostituisce il flag deprecato int8. |
nms | bool | False | Aggiunge la Non-Maximum Suppression (NMS), essenziale per un post-processing del rilevamento accurato ed efficiente. |
batch | int | 1 | Specifica la dimensione dell'inferenza batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
data | str | 'coco8.yaml' | Percorso verso il file di configurazione del dataset (predefinito: coco8.yaml), essenziale per la quantizzazione. |
fraction | float | 1.0 | Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente la calibrazione su un sottoinsieme del dataset completo, utile per esperimenti o quando le risorse sono limitate. Se non specificato con INT8 abilitato, verrà utilizzato l'intero dataset. |
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 di Ultralytics sull'esportazione.
Link to this sectionDeploy di modelli YOLO26 TF SavedModel esportati#
Ora che hai esportato il tuo modello YOLO26 nel formato TF SavedModel, il passo successivo è il deploy. Il primo passo principale e consigliato per eseguire un modello TF SavedModel è utilizzare il metodo YOLO("yolo26n_saved_model/"), come mostrato in precedenza nello snippet di codice di utilizzo.
Tuttavia, per istruzioni approfondite sul deploy dei tuoi modelli TF SavedModel, dai un'occhiata alle seguenti risorse:
-
TensorFlow Serving: Ecco la documentazione per gli sviluppatori su come distribuire i tuoi modelli TF SavedModel utilizzando TensorFlow Serving.
-
Eseguire un TensorFlow SavedModel in Node.js: Un post sul blog di TensorFlow sull'esecuzione diretta di un TensorFlow SavedModel in Node.js senza conversione.
-
Deploy sul Cloud: Un post sul blog di TensorFlow sul deploy di un modello TensorFlow SavedModel sulla Cloud AI Platform.
Link to this sectionRiepilogo#
In questa guida, abbiamo esplorato come esportare modelli Ultralytics YOLO26 nel formato TF SavedModel. Esportando in TF SavedModel, ottieni la flessibilità per ottimizzare, distribuire e scalare i tuoi modelli YOLO26 su una vasta gamma di piattaforme.
Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di TF SavedModel.
Per maggiori informazioni sull'integrazione di Ultralytics YOLO26 con altre piattaforme e framework, non dimenticare di controllare la nostra pagina della guida all'integrazione. È ricca di ottime risorse per aiutarti a ottenere il massimo da YOLO26 nei tuoi progetti.
Link to this sectionFAQ#
Link to this sectionCome posso esportare un modello Ultralytics YOLO nel formato TensorFlow SavedModel?#
Esportare un modello Ultralytics YOLO nel formato TensorFlow SavedModel è semplice. Puoi utilizzare Python o la CLI per farlo:
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")Consulta la documentazione di Ultralytics Export per maggiori dettagli.
Link to this sectionPerché dovrei usare il formato TensorFlow SavedModel?#
Il formato TensorFlow SavedModel offre diversi vantaggi per il model deployment:
- Portabilità: Fornisce un formato indipendente dal linguaggio, rendendo facile condividere e distribuire modelli in diversi ambienti.
- Compatibilità: Si integra perfettamente con strumenti come TensorFlow Serving, TensorFlow Lite e TensorFlow.js, che sono essenziali per distribuire modelli su varie piattaforme, incluse applicazioni web e mobile.
- Incapsulamento completo: Codifica l'architettura del modello, i pesi e le informazioni di compilazione, consentendo una facile condivisione e la continuazione dell'addestramento.
Per ulteriori vantaggi e opzioni di deploy, consulta le opzioni di deploy del modello Ultralytics YOLO.
Link to this sectionQuali sono gli scenari tipici di deploy per TF SavedModel?#
TF SavedModel può essere distribuito in vari ambienti, tra cui:
- TensorFlow Serving: Ideale per ambienti di produzione che richiedono un serving del modello 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 un deploy scalabile del modello.
- Dispositivi mobili ed embedded: Usare TensorFlow Lite per convertire i TF SavedModel consente la distribuzione su dispositivi mobili, dispositivi IoT e microcontrollori.
- TensorFlow Runtime: Per ambienti C++ che necessitano di inferenza a bassa latenza con prestazioni migliori.
Per opzioni di deploy dettagliate, visita le guide ufficiali sul deploy di modelli TensorFlow.
Link to this sectionCome posso installare i pacchetti necessari per esportare i modelli YOLO26?#
Per esportare i modelli YOLO26, devi installare il pacchetto ultralytics. Esegui il comando seguente nel tuo terminale:
pip install ultralyticsPer istruzioni di installazione più dettagliate e best practice, consulta la nostra guida all'installazione di Ultralytics. Se riscontri problemi, consulta la nostra guida ai problemi comuni.
Link to this sectionQuali sono le caratteristiche principali del formato TensorFlow SavedModel?#
Il formato TF SavedModel è vantaggioso per gli sviluppatori AI grazie alle seguenti caratteristiche:
- Portabilità: Consente la condivisione e il deploy in vari ambienti senza sforzo.
- Facilità di Deploy: Incapsula il grafo computazionale, i parametri addestrati e i metadati in un unico pacchetto, il che semplifica il caricamento e l'inferenza.
- Gestione delle risorse: Supporta risorse esterne come vocabolari, garantendo che siano disponibili quando il modello viene caricato.
Per ulteriori dettagli, esplora la documentazione ufficiale di TensorFlow.