Meet YOLO26: next-gen vision AI.

Link to this sectionScopri 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 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 può aiutarti a eseguire il deploy dei 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 condividere, eseguire il deploy e continuare l'addestramento in diversi ambienti.

TensorFlow SavedModel export format structure

TF SavedModel ha un vantaggio fondamentale: la compatibilità. Funziona bene con TensorFlow Serving, TensorFlow Lite e TensorFlow.js. Questa compatibilità facilita la condivisione e il deploy dei modelli su varie piattaforme, incluse 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, 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 AI:

  • Portabilità: TF SavedModel fornisce un formato di serializzazione ermetico, recuperabile e indipendente dal linguaggio. Consentono a sistemi e strumenti di alto livello di produrre, consumare e trasformare i 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 lookup. Queste risorse vengono archiviate insieme alla definizione del grafo e alle variabili, assicurando 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 offre una gamma di opzioni per eseguire il deploy dei 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 il deploy e il serving dei tuoi modelli su piattaforme cloud, server locali o edge device.

  • Piattaforme Cloud: I principali provider 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 eseguire il deploy e scalare i tuoi modelli facilmente.

  • Dispositivi mobili e embedded: TensorFlow Lite, una soluzione leggera per eseguire modelli di machine learning su dispositivi mobili, embedded e IoT, supporta la conversione di TF SavedModel nel formato TensorFlow Lite. Ciò ti consente di eseguire il deploy dei tuoi modelli su un'ampia gamma di dispositivi, da smartphone e tablet a microcontrollori ed edge device.

  • 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 TensorFlow standard. È adatto per scenari di deploy che richiedono inferenza a bassa latenza e una stretta integrazione con codebase C++ esistenti.

Link to this sectionEsportazione dei 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:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e best practice relative al processo di installazione, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti richiesti per YOLO26, se incontri 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 fin da subito, rendendo facile integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione e delle opzioni di configurazione supportati 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 l'accuratezza.

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 (Validate)
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#

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 intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
kerasboolFalseAbilita l'esportazione nel formato Keras, fornendo compatibilità con TensorFlow serving e le API.
int8boolFalseAttiva la quantizzazione INT8, comprimendo ulteriormente il modello e accelerando l'inferenza con una perdita minima di accuratezza, principalmente per i dispositivi edge.
nmsboolFalseAggiunge la Non-Maximum Suppression (NMS), essenziale per una post-elaborazione del rilevamento accurata ed efficiente.
batchint1Specifica la dimensione dell'inferenza in batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
datastr'coco8.yaml'Percorso del file di configurazione del dataset (predefinito: coco8.yaml), essenziale per la quantizzazione.
fractionfloat1.0Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente di calibrare 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.
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.

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 suo 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 eseguire il deploy dei tuoi modelli TF SavedModel utilizzando TensorFlow Serving.

  • Run a TensorFlow SavedModel in Node.js: Un post sul blog di TensorFlow su come eseguire un TensorFlow SavedModel in Node.js direttamente senza conversione.

  • Deploying on Cloud: Un post sul blog di TensorFlow sul deploy di un modello TensorFlow SavedModel sulla Cloud AI Platform.

In questa guida, abbiamo esplorato come esportare i modelli Ultralytics YOLO26 nel formato TF SavedModel. Esportando in TF SavedModel, ottieni la flessibilità per ottimizzare, distribuire e scalare i tuoi modelli YOLO26 su un'ampia 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 dare un'occhiata alla nostra pagina della guida all'integrazione. È ricca di ottime risorse per aiutarti a sfruttare al meglio 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:

Esportazione di 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")

Consulta la documentazione di esportazione di Ultralytics per maggiori dettagli.

Link to this sectionPerché dovrei utilizzare il formato TensorFlow SavedModel?#

Il formato TensorFlow SavedModel offre diversi vantaggi per il deploy del modello:

  • Portabilità: Fornisce un formato indipendente dal linguaggio, facilitando la condivisione e il deploy dei modelli in diversi ambienti.
  • Compatibilità: Si integra perfettamente con strumenti come TensorFlow Serving, TensorFlow Lite e TensorFlow.js, essenziali per il deploy di 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 deploy, dai un'occhiata alle 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 il deploy scalabile dei modelli.
  • Dispositivi mobili e embedded: L'utilizzo di TensorFlow Lite per convertire i TF SavedModel consente il deploy 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 dei 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 seguente comando nel tuo terminale:

pip install ultralytics

Per istruzioni di installazione più dettagliate e migliori pratiche, 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 è utile 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, assicurando che siano disponibili al caricamento del modello.

Per ulteriori dettagli, esplora la documentazione ufficiale di TensorFlow.

Commenti