Entiende cómo exportar a formato TF SavedModel desde YOLO26#
Implementar modelos de aprendizaje automático puede ser complicado. Sin embargo, usar un formato de modelo eficiente y flexible puede facilitarte el trabajo. TF SavedModel es un marco de aprendizaje automático de código abierto que TensorFlow utiliza para cargar modelos de aprendizaje automático de forma coherente. Es como una maleta para los modelos de TensorFlow, ya que facilita su transporte y uso en distintos dispositivos y sistemas.
Aprender a exportar modelos de Ultralytics YOLO26 a TF SavedModel puede ayudarte a implementar 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 ejecutar inferencias con ellos en distintos dispositivos.
¿Por qué deberías exportar a TF SavedModel?#
El formato TensorFlow SavedModel forma parte del ecosistema de TensorFlow desarrollado por Google, como se muestra a continuación. Está diseñado para guardar y serializar modelos de TensorFlow sin complicaciones. Encapsula todos los detalles de los modelos, como la arquitectura, los pesos e incluso la información de compilación. Esto facilita compartirlos, implementarlos y continuar su entrenamiento en distintos entornos.
TF SavedModel tiene una ventaja clave: la compatibilidad. Funciona bien con TensorFlow Serving, LiteRT (antes TensorFlow Lite) y TensorFlow.js. Esta compatibilidad facilita compartir e implementar modelos en diversas plataformas, incluidas las aplicaciones web y móviles. El formato TF SavedModel resulta útil tanto para la investigación como para la producción. Proporciona una forma unificada de gestionar tus modelos y garantiza que estén listos para cualquier aplicación.
Características principales de TF SavedModel#
Estas son las características principales que hacen de TF SavedModel una opción excelente para desarrolladores de IA:
-
Portabilidad: TF SavedModel proporciona un formato de serialización independiente del lenguaje, recuperable y hermético. Permite que los sistemas y herramientas de nivel superior produzcan, consuman y transformen modelos de TensorFlow. Los SavedModels se pueden compartir e implementar fácilmente en distintas plataformas y entornos.
-
Facilidad de implementación: TF SavedModel agrupa el grafo computacional, los parámetros entrenados y los metadatos necesarios en un único paquete. Se pueden cargar y usar fácilmente para realizar inferencias sin necesitar el código original con el que se creó el modelo. Esto hace que la implementación de modelos de TensorFlow sea sencilla y eficiente en diversos entornos de producción.
-
Gestión de recursos: TF SavedModel admite la inclusión de recursos externos, como vocabularios, embeddings o tablas de búsqueda. Estos recursos se almacenan junto a la definición del grafo y las variables, lo que garantiza 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.
Opciones de implementación con TF SavedModel#
Antes de profundizar en el proceso de exportación de modelos YOLO26 al formato TF SavedModel, veamos algunos escenarios habituales de implementación en los que se utiliza este formato.
TF SavedModel ofrece varias opciones para implementar tus modelos de aprendizaje automático:
-
TensorFlow Serving: TensorFlow Serving es un sistema flexible y de alto rendimiento diseñado para entornos de producción. Admite TF SavedModels de forma nativa, lo que facilita implementar y servir tus modelos en plataformas en la nube, servidores locales o dispositivos periféricos.
-
Plataformas en la nube: Los principales proveedores de servicios en la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure, ofrecen servicios para implementar y ejecutar modelos de TensorFlow, incluidos los TF SavedModels. Estos servicios proporcionan una infraestructura escalable y gestionada que te permite implementar y escalar tus modelos fácilmente.
-
Dispositivos móviles e integrados: LiteRT (antes TensorFlow Lite), una solución ligera para ejecutar modelos de aprendizaje automático en dispositivos móviles, integrados y de IoT, admite la conversión de TF SavedModels al formato LiteRT. Esto te permite implementar tus modelos en una amplia variedad de dispositivos, desde smartphones y tabletas hasta microcontroladores y dispositivos periféricos.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt) es un entorno de ejecución de alto rendimiento para ejecutar grafos de TensorFlow. Proporciona API de bajo nivel para cargar y ejecutar TF SavedModels en entornos de C++. TensorFlow Runtime ofrece un rendimiento superior al del entorno de ejecución estándar de TensorFlow. Es adecuado para escenarios de implementación que requieren inferencias con baja latencia y una integración estrecha con bases de código C++ existentes.
Tareas compatibles#
La exportación a TF SavedModel admite 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.
| Tarea | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detección | ✅ | ✅ | ✅ |
| Segmentación | ✅ | ✅ | ✅ |
| Semántica | ❌ | ❌ | ✅ |
| Profundidad | ❌ | ❌ | ✅ |
| Clasificación | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportación de modelos YOLO26 a TF SavedModel#
Al exportar modelos YOLO26 al formato TF SavedModel, mejoras su adaptabilidad y facilidad de implementación en diversas plataformas.
Instalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara consultar instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, revisa nuestra guía de instalación de Ultralytics. Si encuentras dificultades al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.
Uso#
Todos los modelos Ultralytics YOLO26 están diseñados para admitir la exportación de forma nativa, lo que facilita su integración en tu flujo de trabajo de despliegue preferido. Puedes consultar la lista completa de formatos de exportación y opciones de configuración compatibles para elegir la configuración más adecuada para tu aplicación.
El formato TF SavedModel admite los modos Exportar, Predecir y Validar. Exporta tu modelo y, a continuación, carga el modelo exportado 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")Argumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'saved_model' | Formato de destino del modelo exportado, que define 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 entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas. |
keras | bool | False | Permite exportar al formato Keras y proporciona compatibilidad con TensorFlow Serving y sus API. |
quantize | int o str | None | Precisión de cuantización: 8 (INT8/PTQ; necesita calibración data/fraction) o 32/sin definir (FP32). FP16 no es compatible con la exportación a SavedModel. Sustituye a la marca obsoleta int8. |
opset | int | None | Especifica la versión del opset de ONNX para el grafo ONNX intermedio. Si no se establece, utiliza la última versión compatible. |
nms | bool, opcional | None | Selecciona la salida en bruto (None, predeterminada), la NMS integrada (True) o la cabeza sin NMS (False). |
batch | int | 1 | Especifica el tamaño del lote de inferencia del modelo exportado o el número máximo de imágenes que el modelo exportado procesará simultáneamente en el modo predict. |
data | str | None | Ruta al archivo YAML del conjunto de datos, esencial para la cuantización; en clasificación, en su lugar, se acepta un directorio de conjunto de datos o el nombre de un conjunto de datos integrado. Si se omite con quantize=8, Ultralytics selecciona el conjunto de datos de calibración predeterminado para la tarea del modelo. |
fraction | float, int o list | 1.0 | Subconjunto de calibración como proporción, número de imágenes o proporciones/números de [train, val, test]. Las listas de dos elementos dejan test completo, mientras que 0 lo omite. |
device | str | None | Especifica el dispositivo para la exportación: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para obtener más información sobre el proceso de exportación, visita la página de la documentación de Ultralytics sobre exportación.
Implementación de modelos YOLO26 TF SavedModel exportados#
Ahora que has exportado tu modelo YOLO26 al formato TF SavedModel, el siguiente paso es implementarlo. El primer paso principal y recomendado para ejecutar un modelo TF SavedModel es usar el método YOLO("yolo26n_saved_model/"), como se mostró anteriormente en el fragmento de código de uso.
Sin embargo, si necesitas instrucciones detalladas para implementar tus modelos TF SavedModel, consulta los siguientes recursos:
-
TensorFlow Serving: Aquí encontrarás la documentación para desarrolladores sobre cómo implementar tus modelos TF SavedModel mediante TensorFlow Serving.
-
Ejecutar un TensorFlow SavedModel en Node.js: Una publicación del blog de TensorFlow sobre cómo ejecutar directamente un TensorFlow SavedModel en Node.js sin convertirlo.
-
Implementación en la nube: Una publicación del blog de TensorFlow sobre cómo implementar un modelo TensorFlow SavedModel en Cloud AI Platform.
Resumen#
En esta guía, hemos visto cómo exportar modelos Ultralytics YOLO26 al formato TF SavedModel. Al exportar a TF SavedModel, obtienes la flexibilidad necesaria para optimizar, implementar y escalar tus modelos YOLO26 en una amplia variedad de plataformas.
Para obtener más información sobre el uso, visita la documentación oficial de TF SavedModel.
Para obtener más información sobre la integración de Ultralytics YOLO26 con otras plataformas y frameworks, no olvides consultar nuestra página de la guía de integraciones. Incluye numerosos recursos que te ayudarán a sacar el máximo partido a YOLO26 en tus proyectos.
Preguntas frecuentes#
Exportar un modelo Ultralytics YOLO al formato TensorFlow SavedModel es sencillo. Puedes usar Python o CLI para hacerlo:
Exportación de YOLO26 a TF SavedModelfrom 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 obtener más información.
El formato TensorFlow SavedModel ofrece varias ventajas para la implementación de modelos:
- Portabilidad: Proporciona un formato independiente del lenguaje, lo que facilita compartir e implementar modelos en distintos entornos.
- Compatibilidad: Se integra perfectamente con herramientas como TensorFlow Serving, LiteRT y TensorFlow.js, esenciales para implementar modelos en diversas plataformas, incluidas las 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 y continuar su entrenamiento fácilmente.
Para consultar más ventajas y opciones de implementación, visita las opciones de implementación de modelos YOLO de Ultralytics.
TF SavedModel se puede implementar en diversos entornos, entre ellos:
- TensorFlow Serving: Ideal para entornos de producción que requieren un servicio de modelos escalable y de alto rendimiento.
- Plataformas en la nube: Admite los principales servicios en la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure, para una implementación de modelos escalable.
- Dispositivos móviles e integrados: Convertir TF SavedModels mediante LiteRT (antes TensorFlow Lite) permite implementarlos en dispositivos móviles, dispositivos de IoT y microcontroladores.
- TensorFlow Runtime: Para entornos de C++ que necesitan inferencias con baja latencia y un rendimiento superior.
Para consultar opciones de implementación detalladas, visita las guías oficiales sobre implementación de modelos de TensorFlow.
Para exportar modelos YOLO26, debes instalar el paquete
ultralytics. Ejecuta el siguiente comando en tu terminal:pip install ultralyticsPara obtener instrucciones de instalación más detalladas y conocer las prácticas recomendadas, consulta nuestra guía de instalación de Ultralytics. Si encuentras algún problema, consulta nuestra guía de problemas habituales.
El formato TF SavedModel resulta beneficioso para los desarrolladores de IA gracias a las siguientes características:
- Portabilidad: Permite compartir e implementar modelos fácilmente en diversos entornos.
- Facilidad de implementación: Encapsula el grafo computacional, los parámetros entrenados y los metadatos en un único paquete, lo que simplifica la carga y la inferencia.
- Gestión de recursos: Admite recursos externos, como vocabularios, y garantiza que estén disponibles cuando se cargue el modelo.
Para obtener más información, consulta la documentación oficial de TensorFlow.