Link to this sectionEntiende cómo exportar al formato TF SavedModel desde YOLO26#
Desplegar modelos de machine learning puede resultar complicado. Sin embargo, usar 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 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 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, como se muestra a continuación. Está diseñado para guardar y serializar modelos de 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 diferentes entornos.
TF SavedModel tiene una ventaja clave: su compatibilidad. Funciona bien con TensorFlow Serving, TensorFlow Lite y TensorFlow.js. Esta compatibilidad facilita el uso compartido y el despliegue de modelos en diversas plataformas, incluidas 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 clave de los TF SavedModels#
Aquí tienes 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 y neutral respecto al lenguaje. Permite que sistemas y herramientas de mayor 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 único paquete. Se pueden cargar y utilizar fácilmente para la inferencia sin necesidad del código original que creó el modelo. Esto hace que el despliegue de modelos de TensorFlow sea directo 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 profundizar en el proceso de exportación de modelos YOLO26 al formato TF SavedModel, exploremos algunos escenarios típicos de despliegue donde se utiliza este formato.
TF SavedModel ofrece una gama 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 edge.
-
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, incluidos los 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 machine learning en dispositivos móviles, embebidos y de IoT, admite la conversión de TF SavedModels al formato TensorFlow Lite. Esto te permite desplegar tus modelos en una amplia gama de dispositivos, desde smartphones y tablets hasta microcontroladores y dispositivos edge.
-
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 runtime estándar de TensorFlow. Es adecuado para escenarios de despliegue que requieren una inferencia de baja latencia y una 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 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 obtener soluciones y consejos.
Link to this sectionUso#
Todos los modelos 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 y opciones de configuración compatibles 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 la inferencia 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 objetivo para el modelo exportado, definiendo 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 la exportación al formato Keras, proporcionando compatibilidad con TensorFlow serving y APIs. |
int8 | bool | False | Activa la cuantificació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 periféricos (edge devices). |
nms | bool | False | Añade la supresión de no máximos (NMS), esencial para un posprocesamiento de detección preciso y eficiente. |
batch | int | 1 | Especifica 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. |
data | str | 'coco8.yaml' | Ruta al archivo de configuración del dataset (por defecto: 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 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 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 utilizando TensorFlow Serving.
-
Run a TensorFlow SavedModel in Node.js: Una entrada de blog de TensorFlow sobre cómo ejecutar un TF SavedModel en Node.js directamente sin conversión.
-
Deploying on Cloud: Una entrada de blog de TensorFlow sobre cómo desplegar un modelo TF SavedModel en la Cloud AI Platform.
Link to this sectionResumen#
En esta guía, exploramos cómo exportar modelos 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 frameworks, no olvides consultar nuestra página de guías de integración. Está repleta de excelentes recursos para ayudarte a sacar el máximo provecho de YOLO26 en tus proyectos.
Link to this sectionPreguntas frecuentes#
Link to this section¿Cómo exporto un modelo YOLO de Ultralytics al formato TensorFlow SavedModel?#
Exportar un modelo YOLO de Ultralytics 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 sencilla.
Para obtener más beneficios y opciones de despliegue, consulta las opciones de despliegue de modelos YOLO de Ultralytics.
Link to this section¿Cuáles son los escenarios típicos de despliegue para TF SavedModel?#
TF SavedModel puede desplegarse en varios entornos, incluidos:
- 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 un despliegue de modelos escalable.
- Dispositivos móviles y embebidos: Usar TensorFlow Lite para convertir TF SavedModels permite el despliegue en dispositivos móviles, dispositivos IoT y microcontroladores.
- TensorFlow Runtime: Para entornos C++ que necesitan inferencia de baja latencia con un mejor rendimiento.
Para obtener opciones de despliegue detalladas, visita las guías oficiales sobre cómo desplegar 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 obtener instrucciones de instalación más detalladas y mejores prácticas, consulta nuestra guía de instalación de Ultralytics. Si tienes 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 diversos 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: Admite activos externos como vocabularios, asegurando que estén disponibles cuando se carga el modelo.
Para más detalles, explora la documentación oficial de TensorFlow.