Comprender cómo exportar a TF SavedModel formato de YOLO11
Desplegar modelos de aprendizaje automático puede ser todo un reto. Sin embargo, el uso de un formato de modelo eficiente y flexible puede facilitar el trabajo. TF SavedModel es un marco de aprendizaje automático de código abierto utilizado por TensorFlow para cargar modelos de aprendizaje automático de forma coherente. Es como una maleta para los modelos de TensorFlow , lo que facilita su transporte y uso en diferentes dispositivos y sistemas.
Aprender a exportar a TF SavedModel desde Ultralytics YOLO11 puede ayudarle a desplegar modelos fácilmente en diferentes plataformas y entornos. En esta guía, veremos cómo convertir tus modelos al formato TF SavedModel , simplificando el proceso de ejecutar inferencias con tus modelos en diferentes dispositivos.
¿Por qué 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 la formación en diferentes entornos.
El TF SavedModel tiene una ventaja clave: su compatibilidad. Funciona bien con TensorFlow Serving, TensorFlow Lite y TensorFlow.js. Esta compatibilidad hace que sea más fácil compartir y desplegar modelos a través de varias plataformas, incluyendo 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 sus modelos, asegurando que están listos para cualquier aplicación.
Características principales de TF SavedModels
Estas son las principales características 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 y neutro en cuanto al lenguaje. Permiten a 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 de TensorFlow sea sencillo y eficiente en diversos entornos de producción.
-
Gestión de activos: TF SavedModel admite la inclusión de activos externos como vocabularios, incrustaciones o tablas de consulta. Estos activos se almacenan junto con la definición del gráfico y las variables, lo que garantiza que estén disponibles cuando se carga el modelo. Esta función simplifica la gestión y distribución de modelos que dependen de recursos externos.
Opciones de implantación con TF SavedModel
Antes de sumergirnos en el proceso de exportación de modelos YOLO11 al formato TF SavedModel , exploremos algunos escenarios típicos de despliegue en los que se utiliza este formato.
TF SavedModel ofrece una serie de opciones para desplegar sus modelos de aprendizaje automático:
-
TensorFlow Serving: 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 la implementación y el servicio de sus modelos en plataformas en la nube, servidores locales o dispositivos periféricos.
-
Plataformas en la nube: Los principales proveedores en la nube como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure ofrecen servicios para desplegar y ejecutar modelos TensorFlow , incluyendo TF SavedModels. Estos servicios proporcionan una infraestructura escalable y gestionada, permitiéndole desplegar y escalar sus 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 IoT, admite la conversión de TF SavedModels al formato TensorFlow Lite. Esto le permite implementar sus 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
) es un tiempo de ejecución de alto rendimiento para ejecutar TensorFlow gráficos. Proporciona API de bajo nivel para cargar y ejecutar TF SavedModels en entornos C++. TensorFlow El tiempo de ejecución ofrece un mejor rendimiento en comparación con el tiempo de ejecución estándar de TensorFlow . Es adecuado para escenarios de despliegue que requieren una inferencia de baja latencia y una estrecha integración con las bases de código C++ existentes.
Exportación de modelos YOLO11 a TF SavedModel
Al exportar los modelos YOLO11 al formato TF SavedModel , se mejora su adaptabilidad y facilidad de implantación en diversas plataformas.
Instalación
Para instalar el paquete necesario, ejecute
Para obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalaciónUltralytics . Mientras instala los paquetes necesarios para YOLO11, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.
Utilización
Antes de entrar en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLO11 están disponibles para la exportación, aquí puede asegurarse de que el modelo que seleccione admite la función de exportación.
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")
Argumentos de exportación
Argumento | Tipo | Por defecto | Descripción |
---|---|---|---|
format |
str |
'saved_model' |
Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de despliegue. |
imgsz |
int o tuple |
640 |
Tamaño de imagen deseado para la entrada del modelo. Puede ser un número entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas. |
keras |
bool |
False |
Permite exportar a formato Keras, proporcionando compatibilidad con el servicio y las API TensorFlow . |
int8 |
bool |
False |
Activa la cuantización INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida mínima de precisión, principalmente para dispositivos de borde. |
nms |
bool |
False |
Añade supresión no máxima (NMS), esencial para un postprocesado de detección preciso y eficaz. |
batch |
int |
1 |
Especifica el tamaño de la inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en predict modo. |
Para más detalles sobre el proceso de exportación, visite la página de documentaciónUltralytics sobre exportación.
Despliegue de modelos exportados YOLO11 TF SavedModel
Ahora que ha exportado su modelo YOLO11 al formato TF SavedModel , el siguiente paso es desplegarlo. El primer paso principal y recomendado para ejecutar un modelo TF SavedModel es utilizar la función YOLO("yolo11n_saved_model/")
como se muestra en el fragmento de código de uso.
No obstante, para obtener instrucciones detalladas sobre la implantación de sus modelos TF SavedModel , consulte los siguientes recursos:
-
TensorFlow Sirviendo a: Aquí está la documentación para desarrolladores sobre cómo desplegar sus modelos TF SavedModel utilizando TensorFlow Serving.
-
Ejecutar un TensorFlow SavedModel en Node.js: Una entrada del blog TensorFlow sobre la ejecución de 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 Cloud AI Platform.
Resumen
En esta guía, exploramos cómo exportar modelos Ultralytics YOLO11 al formato TF SavedModel . Al exportar a TF SavedModel , obtienes la flexibilidad de optimizar, desplegar y escalar tus modelos YOLO11 en una amplia gama de plataformas.
Para más detalles sobre su uso, visite la documentación oficial deTF SavedModel .
Para más información sobre la integración de Ultralytics YOLO11 con otras plataformas y frameworks, no olvides consultar nuestra página de guía de integración. Está repleta de recursos que te ayudarán a sacar el máximo partido de YOLO11 en tus proyectos.
PREGUNTAS FRECUENTES
¿Cómo se exporta un modelo Ultralytics YOLO al formato TensorFlow SavedModel ?
Exportar un modelo Ultralytics YOLO al formato TensorFlow SavedModel es muy sencillo. Para ello, puede utilizar Python o CLI :
Exportación de YOLO11 a 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")
Consulte la documentación deUltralytics Export para más detalles.
¿Por qué debería utilizar el formato TensorFlow SavedModel ?
El formato TensorFlow SavedModel ofrece varias ventajas para la implantación de modelos:
- Portabilidad: Proporciona un formato neutro desde el punto de vista lingüístico, lo que facilita compartir e implantar 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 compartir y continuar el entrenamiento sin complicaciones.
Para más ventajas y opciones de implantación, consulte las opciones de implantación del modeloUltralytics YOLO .
¿Cuáles son los escenarios típicos de implantación de TF SavedModel ?
TF SavedModel puede desplegarse en diversos entornos, entre ellos:
- TensorFlow Servicio: Ideal para entornos de producción que requieren un servicio de modelos escalable y de alto rendimiento.
- Plataformas en la nube: Compatible con los principales servicios en la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure para el despliegue de 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 obtener información detallada sobre las opciones de despliegue, visite las guías oficiales de despliegue de los modelos TensorFlow .
¿Cómo puedo instalar los paquetes necesarios para exportar los modelos de YOLO11 ?
Para exportar los modelos de YOLO11 , debe instalar la aplicación ultralytics
paquete. Ejecute el siguiente comando en su terminal:
Para obtener instrucciones de instalación más detalladas y las mejores prácticas, consulte nuestra guía de instalaciónUltralytics . Si tiene algún problema, consulte 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 carga el modelo.
Para más detalles, consulte la documentación oficial de TensorFlow .