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.
¿Por qué debes exportar a TF SavedModel ?
El formato TensorFlow SavedModel forma parte del ecosistema TensorFlow desarrollado por Google , como se muestra a continuación. Está diseñado para guardar y serializar modelos TensorFlow sin problemas. Encapsula todos los detalles de los modelos, como la arquitectura, los pesos e incluso la información de compilación. Esto hace que sea sencillo compartir, desplegar y continuar el entrenamiento en distintos entornos.
El TF SavedModel tiene una ventaja clave: su compatibilidad. Funciona bien con TensorFlow Serving, TensorFlow Lite y TensorFlow.js. Esta compatibilidad facilita compartir y desplegar modelos en varias plataformas, incluidas las aplicaciones web y móviles. El formato TF SavedModel es útil tanto para la investigación como para la producción. Proporciona una forma unificada de gestionar tus modelos, garantizando que estén listos para cualquier aplicación.
Características principales de TF SavedModels
Estas son las características clave que hacen de TF SavedModel una gran opción para los desarrolladores de IA:
Portabilidad: TF SavedModel proporciona un formato de serialización hermético, recuperable e independiente del lenguaje. Permiten a los sistemas y herramientas de nivel superior producir, consumir y transformar modelos TensorFlow . Los SavedModels pueden compartirse y desplegarse fácilmente en distintas plataformas y entornos.
Facilidad de despliegue: TF SavedModel agrupa el gráfico computacional, los parámetros entrenados y los metadatos necesarios en un único paquete. Pueden cargarse fácilmente y utilizarse para la inferencia sin necesidad del código original que construyó el modelo. Esto hace que el despliegue de los modelos TensorFlow sea sencillo y eficaz en diversos entornos de producción.
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.
Opciones de despliegue 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 ofrece una serie de opciones para desplegar tus modelos de aprendizaje automático:
TensorFlow Servir: TensorFlow Serving es un sistema de servicio flexible y de alto rendimiento diseñado para entornos de producción. Es compatible de forma nativa con TF SavedModels, lo que facilita el despliegue y el servicio de tus modelos en plataformas en la nube, servidores locales o dispositivos periféricos.
Plataformas en la nube: Los principales proveedores de la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure, ofrecen servicios para desplegar y ejecutar modelos TensorFlow , incluido TF SavedModels. Estos servicios proporcionan una infraestructura escalable y gestionada, que te permite desplegar y escalar tus modelos fácilmente.
Dispositivos móviles e integrados: TensorFlow Lite, una solución ligera para ejecutar modelos de aprendizaje automático en dispositivos móviles, integrados y del IoT, permite convertir TF SavedModels al formato TensorFlow Lite. Esto te permite desplegar tus modelos en una amplia gama de dispositivos, desde teléfonos inteligentes y tabletas hasta microcontroladores y dispositivos de borde.
TensorFlow Tiempo de ejecución: TensorFlow Tiempo de ejecución (
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.
Instalación
Para instalar el paquete necesario, ejecuta
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.
Utilización
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.
Utilización
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")
Para más detalles sobre las opciones de exportación admitidas, visita la página de documentaciónUltralytics sobre opciones de despliegue.
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.
Sin embargo, para obtener instrucciones detalladas sobre el despliegue de tus modelos TF SavedModel , echa un vistazo a los siguientes recursos:
TensorFlow Sirviendo a: Aquí tienes la documentación para desarrolladores sobre cómo desplegar tus modelos TF SavedModel utilizando TensorFlow Serving.
Ejecuta un TensorFlow SavedModel en Node.js: Una entrada del blog TensorFlow sobre cómo ejecutar un TensorFlow SavedModel en Node.js directamente sin conversión.
Despliegue en la nube: Una entrada del blog TensorFlow sobre el despliegue de un modelo TensorFlow SavedModel en la Plataforma de IA en la Nube.
Resumen
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.
Para más detalles sobre su uso, visita la documentación oficial deTF 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.
PREGUNTAS FRECUENTES
¿Cómo exporto un modelo Ultralytics YOLO al formato TensorFlow SavedModel ?
Exportar un modelo Ultralytics YOLO al formato TensorFlow SavedModel es sencillo. Puedes utilizar Python o CLI para conseguirlo:
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")
Consulta la documentación deUltralytics Exportar para más detalles.
¿Por qué debo utilizar el formato TensorFlow SavedModel ?
The TensorFlow SavedModel format offers several advantages for model deployment:
- Portabilidad: Proporciona un formato de lenguaje neutro, lo que facilita compartir y desplegar modelos en distintos entornos.
- Compatibilidad: Se integra perfectamente con herramientas como TensorFlow Serving, TensorFlow Lite y TensorFlow.js, que son esenciales para desplegar modelos en diversas plataformas, incluidas aplicaciones web y móviles.
- Encapsulación completa: Codifica la arquitectura del modelo, los pesos y la información de compilación, lo que permite compartirlo directamente y continuar con el entrenamiento.
Para más ventajas y opciones de despliegue, consulta las opciones de despliegue del modeloUltralytics YOLO .
¿Cuáles son los escenarios típicos de despliegue de TF SavedModel ?
TF SavedModel puede desplegarse en varios entornos, entre ellos:
- TensorFlow Servir: Ideal para entornos de producción que requieren un servicio de modelos escalable y de alto rendimiento.
- Plataformas en la nube: Es compatible con los principales servicios en la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure, para desplegar modelos escalables.
- Dispositivos móviles e integrados: El uso de TensorFlow Lite para convertir TF SavedModels permite la implementación en dispositivos móviles, dispositivos IoT y microcontroladores.
- TensorFlow Tiempo de ejecución: Para entornos C++ que necesiten una inferencia de baja latencia con un mejor rendimiento.
Para conocer en detalle las opciones de despliegue, visita las guías oficiales de despliegue de los modelos TensorFlow .
How can I install the necessary packages to export YOLO11 models?
To export YOLO11 models, you need to install the ultralytics
paquete. Ejecuta el siguiente comando en tu terminal:
Para obtener instrucciones de instalación más detalladas y las mejores prácticas, consulta nuestra guía de instalaciónUltralytics . Si tienes algún problema, consulta nuestra Guía de problemas comunes.
¿Cuáles son las principales características del formato TensorFlow SavedModel ?
TF SavedModel es beneficioso para los desarrolladores de IA debido a las siguientes características:
- Portabilidad: Permite compartir y desplegar en varios entornos sin esfuerzo.
- Facilidad de despliegue: Encapsula el gráfico computacional, los parámetros entrenados y los metadatos en un único paquete, lo que simplifica la carga y la inferencia.
- Gestión de activos: Admite activos externos como vocabularios, garantizando que estén disponibles cuando se cargue el modelo.
Para más detalles, explora la documentación oficial de TensorFlow .