YOLO Vision 2026:

Comprendi come esportare nel formato TF SavedModel da YOLO26#

Distribuire i modelli di machine learning può essere complesso. Tuttavia, l'uso di 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 di machine learning in modo coerente. È come una valigia per i modelli TensorFlow, che li rende facili da trasportare e utilizzare su diversi dispositivi e sistemi.

Imparare a esportare in TF SavedModel dai modelli Ultralytics YOLO26 ti aiuta 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.

Perché 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.

TensorFlow SavedModel export format structure

TF SavedModel offre un vantaggio chiave: la sua compatibilità. Funziona perfettamente con TensorFlow Serving, LiteRT (in precedenza TensorFlow Lite) e TensorFlow.js. Questa compatibilità rende più semplice condividere e distribuire i modelli su varie piattaforme, comprese applicazioni web e mobili. Il formato TF SavedModel è utile sia per la ricerca che per la produzione. Offre un modo unificato per gestire i tuoi modelli, assicurandosi che siano pronti per qualsiasi applicazione.

Caratteristiche 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 degli asset: TF SavedModel supporta l'inclusione di asset esterni come vocabolari, embeddings o tabelle di ricerca. Questi asset vengono memorizzati 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.

Opzioni 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 gli ambienti di produzione. Supporta in modo nativo TF SavedModels, rendendo facile distribuire e servire i tuoi modelli su piattaforme cloud, server locali o edge devices.

  • Piattaforme Cloud: I principali provider cloud come Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure offrono servizi per la distribuzione e l'esecuzione di modelli TensorFlow, inclusi i TF SavedModels. Questi servizi forniscono un'infrastruttura scalabile e gestita, consentendoti di distribuire e scalare i tuoi modelli con facilità.

  • Dispositivi mobili e integrati: LiteRT (in precedenza TensorFlow Lite), una soluzione leggera per l'esecuzione di modelli di machine learning su dispositivi mobili, integrati e IoT, supporta la conversione di TF SavedModels nel formato LiteRT. Questo ti consente di distribuire i tuoi modelli su un'ampia gamma di dispositivi, da smartphone e tablet a microcontrollori ed edge devices.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) è un runtime ad alte prestazioni per l'esecuzione di grafi TensorFlow. Offre API di livello inferiore per caricare ed eseguire TF SavedModels in ambienti C++. TensorFlow Runtime offre prestazioni migliori rispetto al runtime standard di TensorFlow. È adatto a scenari di distribuzione che richiedono inferenza a bassa latenza e una stretta integrazione con le codebase C++ esistenti.

Attività supportate#

L'esportazione in TF SavedModel supporta tutti e sette i task di Ultralytics. La segmentazione semantica e la stima della profondità sono disponibili solo con YOLO26, l'unica famiglia che include quelle teste.

CompitoYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Esportazione 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.

Installazione#

Per installare il pacchetto richiesto, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e migliori pratiche relative al processo di installazione, consulta la nostra Guida all'installazione di Ultralytics. Se riscontri difficoltà durante l'installazione dei pacchetti richiesti per YOLO26, consulta la nostra Guida ai problemi comuni per soluzioni e suggerimenti.

Utilizzo#

Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione pronta all'uso, rendendo semplice integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare 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 SavedModel supporta le modalità Export, Predict e Validate. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o validarne la precisione.

Esportazione
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'
Previsione
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")
Convalida
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")

Argomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'saved_model'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
kerasboolFalseAbilita l'esportazione nel formato Keras, fornendo compatibilità con il serving e le API di TensorFlow.
quantizeint o strNonePrecisione di quantizzazione: 8 (INT8/PTQ; richiede calibrazione data/fraction) o 32/non impostato (FP32). FP16 non è supportato per l'esportazione SavedModel. Sostituisce il flag deprecato int8.
opsetintNoneSpecifica la versione dell'opset ONNX per il grafo ONNX intermedio. Se non impostata, utilizza l'ultima versione supportata.
nmsboolFalseAggiunge la Non-Maximum Suppression (NMS), essenziale per un post-processing del rilevamento accurato ed efficiente.
batchint1Specifica la dimensione dell'inferenza in batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in modalità predict.
datastrNonePercorso del file YAML del dataset, essenziale per la quantizzazione; la classificazione richiede invece una cartella di dataset o il nome di un dataset integrato. Se omesso con quantize=8, Ultralytics seleziona il dataset di calibrazione predefinito per il task del modello.
fractionfloat, int o list1.0Sottoinsieme di calibrazione come rapporto, conteggio di immagini o rapporti/conteggi [train, val]; un elenco limita train o val, mentre test rimane completo.
devicestrNoneSpecifica 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.

Deploy di modelli YOLO26 TF SavedModel esportati#

Ora che hai esportato il tuo modello YOLO26 nel formato TF SavedModel, il passo successivo è distribuirlo. Il primo passo principale e consigliato per eseguire un modello TF SavedModel è utilizzare il metodo YOLO("yolo26n_saved_model/"), come precedentemente mostrato nello snippet di codice d'uso.

Tuttavia, per istruzioni approfondite sul deploy dei tuoi modelli TF SavedModel, dai un'occhiata alle seguenti risorse:

  • TensorFlow Serving: Ecco la documentazione per sviluppatori su come distribuire i tuoi modelli TF SavedModel utilizzando TensorFlow Serving.

  • Eseguire un TensorFlow SavedModel in Node.js: Un post del blog di TensorFlow su come eseguire un TensorFlow SavedModel in Node.js direttamente senza conversione.

  • Distribuzione su Cloud: Un post del blog di TensorFlow sulla distribuzione di un modello TensorFlow SavedModel su Cloud AI Platform.

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 ulteriori informazioni sull'integrazione di Ultralytics YOLO26 con altre piattaforme e framework, non dimenticare di consultare la nostra pagina della guida all'integrazione. È ricca di ottime risorse per aiutarti a sfruttare al meglio YOLO26 nei tuoi progetti.

FAQ#

  • Esportare un modello Ultralytics YOLO nel formato TensorFlow SavedModel è semplice. Puoi utilizzare Python o la CLI per farlo:

    Esportare YOLO26 in TF SavedModel
    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")

    Fai riferimento alla documentazione di Ultralytics Export per ulteriori dettagli.

  • Il formato TensorFlow SavedModel offre diversi vantaggi per la distribuzione dei modelli:

    • 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, LiteRT e TensorFlow.js, che sono essenziali per distribuire modelli su varie piattaforme, incluse applicazioni web e mobili.
    • 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 distribuzione, dai un'occhiata alle opzioni di distribuzione dei modelli Ultralytics YOLO.

  • 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 e integrati: L'utilizzo di LiteRT (in precedenza TensorFlow Lite) per convertire i TF SavedModels 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 distribuzione dettagliate, visita le guide ufficiali sulla distribuzione di modelli TensorFlow.

  • Per esportare i modelli YOLO26, devi installare il pacchetto ultralytics. Esegui il seguente comando nel tuo terminale:

    pip install ultralytics

    Per istruzioni di installazione più dettagliate e best practices, fai riferimento alla nostra guida all'installazione di Ultralytics. Se riscontri problemi, consulta la nostra guida ai problemi comuni.

  • 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.

Commenti