YOLO Vision 2026:

Entiende cómo exportar al formato TF SavedModel desde YOLO26#

Desplegar modelos de machine learning puede ser un desafío. Sin embargo, utilizar un formato de modelo eficiente y flexible puede facilitarte el trabajo. TF SavedModel es un framework de machine learning de código abierto utilizado por TensorFlow para cargar modelos de machine learning de manera consistente. Es como una maleta para los modelos de TensorFlow, lo que hace que sean 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 distintas plataformas y entornos. En esta guía, veremos cómo convertir tus modelos al formato TF SavedModel, simplificando el proceso de ejecución de inferencias con tus modelos en diferentes dispositivos.

¿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.

TensorFlow SavedModel export format structure

El formato TF SavedModel tiene una ventaja clave: su compatibilidad. Funciona muy bien con TensorFlow Serving, LiteRT (anteriormente TensorFlow Lite) y TensorFlow.js. Esta compatibilidad facilita compartir y desplegar modelos en varias plataformas, incluyendo aplicaciones web y móviles. El formato TF SavedModel es útil tanto para la investigación como para producción. Proporciona una forma unificada de gestionar tus modelos, asegurando que estén listos para cualquier aplicación.

Caracterí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 carga el modelo. Esta característica simplifica la gestión y distribución de modelos que dependen de recursos externos.

Opciones 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. Es compatible de forma nativa con TF SavedModels, lo que facilita el despliegue y servicio de tus modelos en plataformas en la nube, servidores locales o dispositivos perimetrales.

  • 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 de TensorFlow, incluidos los TF SavedModels. Estos servicios proporcionan una infraestructura escalable y gestionada, permitiéndote desplegar y escalar tus modelos fácilmente.

  • Dispositivos móviles y embebidos: LiteRT (anteriormente TensorFlow Lite), una solución ligera para ejecutar modelos de machine learning en dispositivos móviles, embebidos y de IoT, admite la conversión de TF SavedModels al formato LiteRT. Esto te permite desplegar tus modelos en una amplia gama de dispositivos, desde smartphones y tablets hasta microcontroladores y dispositivos perimetrales.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) es un motor de ejecución de alto rendimiento para ejecutar grafos de TensorFlow. Proporciona API de más bajo nivel para cargar y ejecutar TF SavedModels en entornos de C++. TensorFlow Runtime ofrece un mejor rendimiento en comparación con el motor de ejecución estándar de TensorFlow. Es adecuado para escenarios de despliegue que requieren inferencia de baja latencia y una integración estrecha con bases de código de C++ existentes.

Tareas compatibles#

La exportación a TF SavedModel es compatible con las siete tareas de Ultralytics. La segmentación semántica y la estimación de profundidad solo están disponibles con YOLO26, la única familia que incluye esas cabezas.

TareaYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Exportar modelos YOLO26 a TF SavedModel#

Al exportar modelos YOLO26 al formato TF SavedModel, mejoras su adaptabilidad y facilidad de despliegue en diversas plataformas.

Instalación#

Para instalar el paquete necesario, ejecuta:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si encuentras alguna dificultad al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para ver soluciones y consejos.

Uso#

Todos los modelos de Ultralytics YOLO26 están diseñados para admitir la exportación de serie, lo que facilita su integración en tu flujo de trabajo de despliegue preferido. Puedes ver la lista completa de formatos de exportación compatibles y 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, luego carga el modelo exportado para ejecutar la inferencia o validar su precisión.

Exportar
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'
Predecir
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")
Validar
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")

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'saved_model'Formato de destino para el modelo exportado, definiendo la compatibilidad con diversos entornos de despliegue.
imgszint o tuple640Tamañ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.
kerasboolFalseHabilita la exportación al formato Keras, proporcionando compatibilidad con TensorFlow Serving y APIs.
quantizeint o strNonePrecisión de cuantización: 8 (INT8/PTQ; requiere calibración data/fraction) o 32/sin definir (FP32). FP16 no es compatible para la exportación a SavedModel. Reemplaza al indicador obsoleto int8.
opsetintNoneEspecifica la versión del opset de ONNX para el grafo ONNX intermedio. Si no se establece, utiliza la última versión admitida.
nmsboolFalseAñade la supresión de no máximos (NMS), esencial para el posprocesamiento preciso y eficiente de detecciones.
batchint1Especifica el tamaño de 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 el modo predict.
datastrNoneRuta al YAML del dataset, esencial para la cuantización; la clasificación por su parte toma un directorio de datasets o un nombre de dataset integrado. Si se omite con quantize=8, Ultralytics selecciona el dataset de calibración predeterminado para la tarea del modelo.
fractionfloat, int o list1.0Subconjunto de calibración como proporción, recuento de imágenes o proporciones/recuentos de [train, val]; una lista limita train o val, mientras que test permanece completo.
devicestrNoneEspecifica el dispositivo para la exportación: CPU (device=cpu), MPS para Apple silicon (device=mps).

Para más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Desplegar modelos YOLO26 TF SavedModel exportados#

Ahora que has exportado tu modelo YOLO26 al formato TF SavedModel, el siguiente paso es desplegarlo. El primer paso principal y 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 entrada de blog de TensorFlow sobre cómo ejecutar un TensorFlow SavedModel en Node.js directamente sin conversión.

  • Despliegue en la nube: Una entrada de blog de TensorFlow sobre cómo desplegar un modelo TensorFlow SavedModel en Cloud AI Platform.

Resumen#

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 el uso, visita la documentación oficial de TF SavedModel.

Para obtener más información sobre cómo integrar Ultralytics YOLO26 con otras plataformas y frameworks, no olvides consultar nuestra página de la guía de integración. Está llena de excelentes recursos para ayudarte a aprovechar al máximo YOLO26 en tus proyectos.

FAQ#

  • Exportar un modelo de Ultralytics YOLO al formato TensorFlow SavedModel es sencillo. Puedes usar Python o la CLI para lograrlo:

    Exportar YOLO26 a 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 documentación de exportación de Ultralytics para más detalles.

  • 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, LiteRT y TensorFlow.js, las cuales son esenciales para desplegar modelos en varias plataformas, incluyendo 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 obtener más beneficios y opciones de despliegue, consulta las opciones de despliegue de modelos YOLO de Ultralytics.

  • 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: El uso de LiteRT (anteriormente TensorFlow Lite) para convertir TF SavedModels permite el despliegue en dispositivos móviles, dispositivos de IoT y microcontroladores.
    • TensorFlow Runtime: Para entornos C++ que necesitan inferencia de baja latencia con un mejor rendimiento.

    Para opciones detalladas de despliegue, visita las guías oficiales sobre despliegue de modelos de TensorFlow.

  • Para exportar modelos YOLO26, necesitas instalar el paquete ultralytics. Ejecuta el siguiente comando en tu terminal:

    pip install ultralytics

    Para obtener 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.

  • 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.

Comentarios