Vai al contenuto

Understand How to Export to TF SavedModel Format From YOLO11

Deploying machine learning models can be challenging. However, using an efficient and flexible model format can make your job easier. TF SavedModel is an open-source machine-learning framework used by TensorFlow to load machine-learning models in a consistent way. It is like a suitcase for TensorFlow models, making them easy to carry and use on different devices and systems.

Learning how to export to TF SavedModel from Ultralytics YOLO11 models can help you deploy models easily across different platforms and environments. In this guide, we'll walk through how to convert your models to the TF SavedModel format, simplifying the process of running inferences with your models on different devices.

Perché dovresti esportare su 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 di 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 la formazione in ambienti diversi.

TF SavedModel

TF SavedModel ha un vantaggio fondamentale: la sua 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. Offre un modo unificato di gestire i tuoi modelli, garantendo 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. Consente a sistemi e strumenti di livello superiore di produrre, consumare e trasformare i modelli di 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.

  • Asset Management: TF SavedModel supports the inclusion of external assets such as vocabularies, embeddings, or lookup tables. These assets are stored alongside the graph definition and variables, ensuring they are available when the model is loaded. This feature simplifies the management and distribution of models that rely on external resources.

Opzioni di distribuzione con TF SavedModel

Before we dive into the process of exporting YOLO11 models to the TF SavedModel format, let's explore some typical deployment scenarios where this format is used.

TF SavedModel offre una serie di opzioni per distribuire i tuoi 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 i SavedModels di TF , semplificando la distribuzione e il servizio dei tuoi modelli su piattaforme cloud, server on-premises o dispositivi edge.

  • Piattaforme cloud: I principali provider 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, tra cui TF SavedModels. Questi servizi forniscono un'infrastruttura scalabile e gestita che ti permette di distribuire e scalare facilmente i tuoi modelli.

  • Dispositivi mobili ed embedded: 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. Questo ti permette di distribuire i tuoi modelli su un'ampia gamma di dispositivi, da smartphone e tablet a microcontrollori e dispositivi edge.

  • TensorFlow Tempo di esecuzione: TensorFlow Runtime (tfrt) is a high-performance runtime for executing TensorFlow graphs. It provides lower-level APIs for loading and running TF SavedModels in C++ environments. TensorFlow Runtime offers better performance compared to the standard TensorFlow runtime. It is suitable for deployment scenarios that require low-latency inference and tight integration with existing C++ codebases.

Exporting YOLO11 Models to TF SavedModel

By exporting YOLO11 models to the TF SavedModel format, you enhance their adaptability and ease of deployment across various platforms.

Installazione

Per installare il pacchetto richiesto, esegui:

Installazione

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

Utilizzo

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

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")
# Export a YOLO11n PyTorch model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model  # creates '/yolo11n_saved_model'

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

Per maggiori dettagli sulle opzioni di esportazione supportate, visita la pagina di documentazione diUltralytics sulle opzioni di distribuzione.

Deploying Exported YOLO11 TF SavedModel Models

Now that you have exported your YOLO11 model to the TF SavedModel format, the next step is to deploy it. The primary and recommended first step for running a TF GraphDef model is to use the YOLO("./yolo11n_saved_model") method, as previously shown in the usage code snippet.

Tuttavia, per istruzioni approfondite sulla distribuzione dei modelli TF SavedModel , consulta le seguenti risorse:

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

  • Esegui 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 blog post di TensorFlow sulla distribuzione di un modello TensorFlow SavedModel sulla Cloud AI Platform.

Sommario

In this guide, we explored how to export Ultralytics YOLO11 models to the TF SavedModel format. By exporting to TF SavedModel, you gain the flexibility to optimize, deploy, and scale your YOLO11 models on a wide range of platforms.

Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di TF SavedModel .

For more information on integrating Ultralytics YOLO11 with other platforms and frameworks, don't forget to check out our integration guide page. It's packed with great resources to help you make the most of YOLO11 in your projects.

DOMANDE FREQUENTI

Come posso esportare un modello Ultralytics YOLO nel formato TensorFlow SavedModel ?

Esportare un modello Ultralytics YOLO nel formato TensorFlow SavedModel è semplice. Per farlo puoi utilizzare Python o CLI :

Exporting YOLO11 to 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")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model  # creates '/yolo11n_saved_model'

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

Per maggiori dettagli, consulta la documentazione di Ultralytics Export.

Perché dovrei utilizzare il formato TensorFlow SavedModel ?

The TensorFlow SavedModel format offers several advantages for model deployment:

  • Portabilità: Fornisce un formato neutro rispetto al linguaggio, rendendo più semplice 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, dai un'occhiata alle opzioni di implementazione del modelloUltralytics YOLO .

Quali sono gli scenari tipici di implementazione di TF SavedModel ?

TF SavedModel può essere utilizzato in diversi 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 ed embedded: L'utilizzo di TensorFlow Lite per convertire i SavedModel di TF consente di utilizzare i dispositivi mobili, i dispositivi IoT e i 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, visita le guide ufficiali sulla distribuzione dei modelli TensorFlow .

How can I install the necessary packages to export YOLO11 models?

To export YOLO11 models, you need to install the ultralytics pacchetto. Esegui il seguente comando nel tuo terminale:

pip install ultralytics

Per istruzioni più dettagliate sull'installazione e sulle migliori pratiche, consulta la nostra guida all'installazione diUltralytics . Se riscontri dei problemi, consulta la nostra guida sui problemi comuni.

Quali sono le caratteristiche principali del formato TensorFlow SavedModel ?

TF SavedModel Il formato è vantaggioso per gli sviluppatori di AI grazie alle seguenti caratteristiche:

  • Portabilità: Permette 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 le risorse esterne come i vocabolari, assicurandosi che siano disponibili quando il modello viene caricato.

Per maggiori dettagli, consulta la documentazione ufficiale di TensorFlow .

📅 Created 7 months ago ✏️ Updated 22 days ago

Commenti