Link to this sectionEntiende cómo exportar al formato TF SavedModel desde YOLO26#
Desplegar modelos de machine learning puede resultar un desafío. Sin embargo, usar un formato de modelo eficiente y flexible puede facilitarte el trabajo. TF SavedModel es un marco de machine learning de código abierto utilizado por TensorFlow para cargar modelos de machine learning de forma consistente. Es como una maleta para modelos de TensorFlow, lo que los hace fáciles de transportar y usar en diferentes dispositivos y sistemas.
Aprender a exportar a TF SavedModel desde modelos de Ultralytics YOLO26 puede ayudarte 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 distintos dispositivos.
Link to this section¿Por qué deberías exportar a TF SavedModel?#
El formato TensorFlow SavedModel es parte del ecosistema de TensorFlow desarrollado por Google, tal como se muestra a continuación. Está diseñado para guardar y serializar modelos de TensorFlow de manera fluida. 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 diferentes entornos.
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 diversas plataformas, incluyendo aplicaciones web y móviles. El formato TF SavedModel es útil tanto para investigación como para producción. Proporciona una forma unificada de gestionar tus modelos, asegurando que estén listos para cualquier aplicación.
Link to this sectionCaracterísticas principales de TF SavedModels#
Aquí tienes las características clave que hacen de TF SavedModel una gran opción para desarrolladores de IA:
-
Portabilidad: TF SavedModel proporciona un formato de serialización hermético, recuperable y neutral respecto al lenguaje. Permite que sistemas y herramientas de alto nivel produzcan, consuman y transformen modelos de TensorFlow. Los SavedModels pueden compartirse y desplegarse fácilmente en diferentes plataformas y entornos.
-
Facilidad de despliegue: TF SavedModel agrupa el grafo computacional, los parámetros entrenados y los metadatos necesarios en un solo paquete. Se pueden cargar y utilizar fácilmente para inferencias sin requerir el código original que construyó el modelo. Esto hace que el despliegue de 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, embeddings o tablas de búsqueda. Estos activos se almacenan junto con la definición del grafo y las variables, asegurando que estén disponibles cuando se cargue el modelo. Esta característica simplifica la gestión y distribución de modelos que dependen de recursos externos.
Link to this sectionOpciones de despliegue con TF SavedModel#
Antes de sumergirnos en el proceso de exportación de modelos YOLO26 al formato TF SavedModel, exploremos algunos escenarios de despliegue típicos donde se utiliza este formato.
TF SavedModel proporciona una variedad de opciones para desplegar tus modelos de machine learning:
-
TensorFlow Serving: TensorFlow Serving es un sistema de servicio flexible y de alto rendimiento diseñado para entornos de producción. Admite de forma nativa TF SavedModels, lo que facilita la implementación y el servicio de tus modelos en plataformas en la nube, servidores locales o dispositivos de borde.
-
Plataformas en la nube: Los principales proveedores de nube como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure ofrecen servicios para desplegar y ejecutar modelos de TensorFlow, incluyendo TF SavedModels. Estos servicios proporcionan una infraestructura gestionada y escalable, permitiéndote desplegar y escalar tus modelos fácilmente.
-
Dispositivos móviles y embebidos: TensorFlow Lite, una solución ligera para ejecutar modelos de aprendizaje automático en dispositivos móviles, embebidos e IoT, admite la conversión de TF SavedModels al formato TensorFlow Lite. Esto te permite implementar tus modelos en una amplia gama de dispositivos, desde teléfonos inteligentes y tabletas hasta microcontroladores y dispositivos de borde.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt) es un entorno de ejecución de alto rendimiento para ejecutar grafos de TensorFlow. Proporciona APIs de bajo nivel para cargar y ejecutar TF SavedModels en entornos C++. TensorFlow Runtime 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 inferencia de baja latencia e integración estrecha con bases de código C++ existentes.
Link to this sectionExportar modelos YOLO26 a TF SavedModel#
Al exportar modelos YOLO26 al formato TF SavedModel, mejoras su adaptabilidad y facilidad de despliegue en diversas plataformas.
Link to this sectionInstalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra Guía de instalación de Ultralytics. Mientras instalas los paquetes requeridos para YOLO26, si encuentras alguna dificultad, consulta nuestra Guía de problemas comunes para obtener soluciones y consejos.
Link to this sectionUso#
Todos los modelos de Ultralytics YOLO26 están diseñados para admitir la exportación desde el primer momento, facilitando su integración en tu flujo de trabajo de despliegue preferido. Puedes ver la lista completa de formatos de exportación admitidos y las opciones de configuración para elegir la mejor configuración para tu aplicación.
El formato TF SavedModel admite los modos Export, Predict y Validate. Exporta tu modelo y luego cárgalo para ejecutar inferencias o validar su precisión.
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'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")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 sectionArgumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'saved_model' | Formato de destino para el modelo exportado, definiendo la compatibilidad con diversos 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 | Habilita la exportación al formato Keras, proporcionando compatibilidad con TensorFlow Serving y APIs. |
quantize | int o str | None | Precisión de cuantificación: 8 (INT8/PTQ; requiere calibración data/fraction) o 32/sin definir (FP32). FP16 no es compatible con la exportación a SavedModel. Sustituye al flag int8 obsoleto. |
nms | bool | False | Añade la supresión de no máximos (NMS), esencial para el posprocesamiento preciso y eficiente de detecciones. |
batch | int | 1 | Especifica el tamaño de inferencia por lote del modelo exportado o el número máximo de imágenes que el modelo procesará simultáneamente en el modo predict. |
data | str | 'coco8.yaml' | Ruta al archivo de configuración del dataset (predeterminado: coco8.yaml), esencial para la cuantización. |
fraction | float | 1.0 | Especifica la fracción del conjunto de datos a utilizar para la calibración de cuantización INT8. Permite calibrar en un subconjunto del conjunto de datos completo, útil para experimentos o cuando los recursos son limitados. Si no se especifica con INT8 habilitado, se utilizará el conjunto de datos completo. |
device | str | None | Especifica el dispositivo para la exportación: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre la exportación.
Link to this sectionDesplegar modelos YOLO26 TF SavedModel exportados#
Ahora que has exportado tu modelo YOLO26 al formato TF SavedModel, el siguiente paso es desplegarlo. El primer paso recomendado para ejecutar un modelo TF SavedModel es utilizar el método YOLO("yolo26n_saved_model/"), como se mostró anteriormente en el fragmento de código de uso.
Sin embargo, para obtener instrucciones detalladas sobre cómo desplegar tus modelos TF SavedModel, echa un vistazo a los siguientes recursos:
-
TensorFlow Serving: Aquí tienes la documentación para desarrolladores sobre cómo desplegar tus modelos TF SavedModel usando TensorFlow Serving.
-
Ejecutar un TensorFlow SavedModel en Node.js: Una publicación en el blog de TensorFlow sobre cómo ejecutar un TensorFlow SavedModel en Node.js directamente sin conversión.
-
Desplegar en la nube: Una publicación en el blog de TensorFlow sobre cómo desplegar un modelo TensorFlow SavedModel en la plataforma Cloud AI.
Link to this sectionResumen#
En esta guía, exploramos cómo exportar modelos de Ultralytics YOLO26 al formato TF SavedModel. Al exportar a TF SavedModel, obtienes la flexibilidad para optimizar, desplegar y escalar tus modelos YOLO26 en una amplia gama de plataformas.
Para más detalles sobre su uso, visita la documentación oficial de TF SavedModel.
Para más información sobre la integración de Ultralytics YOLO26 con otras plataformas y marcos de trabajo, no olvides consultar nuestra página de guías de integración. Está repleta de recursos excelentes para ayudarte a aprovechar al máximo YOLO26 en tus proyectos.
Link to this sectionFAQ#
Link to this section¿Cómo exporto un modelo Ultralytics YOLO al formato TensorFlow SavedModel?#
Exportar un modelo de Ultralytics YOLO al formato TensorFlow SavedModel es sencillo. Puedes usar Python o la CLI para lograrlo:
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 documentación de exportación de Ultralytics para más detalles.
Link to this section¿Por qué debería usar el formato TensorFlow SavedModel?#
El formato TensorFlow SavedModel ofrece varias ventajas para el despliegue de modelos:
- Portabilidad: Proporciona un formato neutral respecto al lenguaje, lo que facilita compartir y desplegar modelos en diferentes 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 de manera directa.
Para más beneficios y opciones de despliegue, echa un vistazo a las opciones de despliegue de modelos Ultralytics YOLO.
Link to this section¿Cuáles son los escenarios de despliegue típicos para TF SavedModel?#
TF SavedModel se puede desplegar en varios entornos, incluyendo:
- TensorFlow Serving: Ideal para entornos de producción que requieren un servicio de modelos escalable y de alto rendimiento.
- Plataformas en la nube: Soporta servicios en la nube importantes como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure para el despliegue escalable de modelos.
- Dispositivos móviles y embebidos: Usar TensorFlow Lite para convertir TF SavedModels permite la implementación en dispositivos móviles, dispositivos IoT y microcontroladores.
- TensorFlow Runtime: Para entornos C++ que necesitan inferencia de baja latencia con un mejor rendimiento.
Para opciones de despliegue detalladas, visita las guías oficiales sobre despliegue de modelos de TensorFlow.
Link to this section¿Cómo puedo instalar los paquetes necesarios para exportar modelos YOLO26?#
Para exportar modelos YOLO26, necesitas instalar el paquete ultralytics. Ejecuta el siguiente comando en tu terminal:
pip install ultralyticsPara instrucciones de instalación más detalladas y mejores prácticas, consulta nuestra guía de instalación de Ultralytics. Si encuentras algún problema, consulta nuestra guía de problemas comunes.
Link to this section¿Cuáles son las características clave del formato TensorFlow SavedModel?#
El formato 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 grafo computacional, los parámetros entrenados y los metadatos en un solo paquete, lo que simplifica la carga y la inferencia.
- Gestión de activos: Soporta activos externos como vocabularios, asegurando que estén disponibles cuando el modelo se carga.
Para más detalles, explora la documentación oficial de TensorFlow.