Ultralytics YOLO27:

Cómo exportar a TF GraphDef desde YOLO26 para la implementación#

Al implementar modelos de vanguardia de visión artificial, como YOLO26, en distintos entornos, es posible que encuentres problemas de compatibilidad. El TensorFlow GraphDef de Google, o TF GraphDef, ofrece una solución al proporcionar una representación serializada e independiente de la plataforma de tu modelo. Con el formato de modelo TF GraphDef, puedes implementar tu modelo YOLO26 en entornos donde no esté disponible todo el ecosistema de TensorFlow, como dispositivos móviles o hardware especializado.

En esta guía te explicaremos paso a paso cómo exportar tus modelos Ultralytics YOLO26 al formato de modelo TF GraphDef. Al convertir tu modelo, puedes simplificar la implementación y utilizar las capacidades de visión artificial de YOLO26 en una gama más amplia de aplicaciones y plataformas.

TensorFlow GraphDef model serialization format

¿Por qué deberías exportar a TF GraphDef?#

TF GraphDef es un componente potente del ecosistema de TensorFlow desarrollado por Google. Puede utilizarse para optimizar e implementar modelos como YOLO26. Exportar a TF GraphDef te permite pasar los modelos de la investigación a aplicaciones del mundo real. Permite ejecutar modelos en entornos sin el marco completo de TensorFlow.

El formato GraphDef representa el modelo como un grafo de computación serializado. Esto permite aplicar diversas técnicas de optimización, como la propagación de constantes, la cuantización y las transformaciones del grafo. Estas optimizaciones garantizan una ejecución eficiente, un menor uso de memoria y velocidades de inferencia más rápidas.

Los modelos GraphDef pueden utilizar aceleradores de hardware, como GPU, TPU y chips de IA, lo que permite obtener mejoras de rendimiento significativas en la canalización de inferencia de YOLO26. El formato TF GraphDef crea un paquete autónomo con el modelo y sus dependencias, lo que simplifica la implementación y la integración en sistemas diversos.

Características principales de los modelos TF GraphDef#

TF GraphDef ofrece características específicas para simplificar la implementación de modelos y la optimización.

Estas son sus características principales:

  • Serialización de modelos: TF GraphDef proporciona una forma de serializar y almacenar modelos de TensorFlow en un formato independiente de la plataforma. Esta representación serializada permite cargar y ejecutar tus modelos sin el código fuente original de Python, lo que facilita la implementación.

  • Optimización de grafos: TF GraphDef permite optimizar grafos de computación. Estas optimizaciones pueden mejorar el rendimiento al agilizar el flujo de ejecución, reducir redundancias y adaptar las operaciones al hardware específico.

  • Flexibilidad de implementación: Los modelos exportados al formato GraphDef pueden utilizarse en diversos entornos, incluidos dispositivos con recursos limitados, navegadores web y sistemas con hardware especializado. Esto amplía las posibilidades de implementación de tus modelos de TensorFlow.

  • Orientación a producción: GraphDef está diseñado para la implementación en producción. Admite una ejecución eficiente, funciones de serialización y optimizaciones alineadas con casos de uso reales.

Opciones de implementación con TF GraphDef#

Antes de entrar en el proceso de exportación de modelos YOLO26 a TF GraphDef, veamos algunas situaciones habituales de implementación en las que se utiliza este formato.

Así puedes implementar con TF GraphDef de forma eficiente en diversas plataformas.

  • TensorFlow Serving: Este marco está diseñado para implementar modelos de TensorFlow en entornos de producción. TensorFlow Serving ofrece gestión y control de versiones de modelos, además de la infraestructura necesaria para servir modelos de forma eficiente a gran escala. Es una forma sencilla de integrar tus modelos basados en GraphDef en servicios web o API de producción.

  • Dispositivos móviles e integrados: Con herramientas como LiteRT, puedes convertir modelos TF GraphDef a formatos optimizados para smartphones, tabletas y diversos dispositivos integrados. Después, tus modelos pueden utilizarse para la inferencia en el dispositivo, donde la ejecución se realiza localmente, lo que suele proporcionar mejoras de rendimiento y capacidades sin conexión.

  • Navegadores web: TensorFlow.js permite implementar modelos TF GraphDef directamente en navegadores web. Abre la puerta a aplicaciones de detección de objetos en tiempo real que se ejecutan en el cliente y utilizan las capacidades de YOLO26 mediante JavaScript.

  • Hardware especializado: La naturaleza independiente de la plataforma de TF GraphDef permite orientarlo a hardware personalizado, como aceleradores y TPU (unidades de procesamiento tensorial). Estos dispositivos pueden ofrecer ventajas de rendimiento para modelos con una gran carga computacional.

Tareas compatibles#

La exportación a TF GraphDef admite seis de 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. Los modelos de pose se pueden exportar, pero actualmente no se admite la inferencia de Ultralytics GraphDef para ellos.

TareaYOLOv8YOLO11YOLO26
Detección
Segmentación
Semántica
Profundidad
Clasificación
Pose
OBB

Exportación de modelos YOLO26 a TF GraphDef#

Puedes convertir tu modelo YOLO26 al formato TF GraphDef, que es compatible con diversos sistemas, para mejorar su rendimiento en distintas plataformas.

Instalación#

Para instalar el paquete necesario, ejecuta:

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

Para 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 GraphDef admite los modos Exportar, Predecir y Validar, excepto que los modelos de pose actualmente solo admiten la exportación. Exporta tu modelo y, después, carga el modelo exportado para ejecutar inferencias o validar su precisión.

Exportar
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'
Predecir
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'pb'Formato de destino del modelo exportado, que define la compatibilidad con diversos entornos de despliegue.
imgszint o tuple640Tamañ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.
quantizeint o strNoneExportación FP32 fija. GraphDef no admite la conversión de precisión FP16, INT8 o W8A16 durante la exportación.
opsetintNoneEspecifica la versión del opset de ONNX para el grafo ONNX intermedio. Si no se establece, utiliza la última versión compatible.
batchint1Especifica 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.
devicestrNoneEspecifica 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 GraphDef exportados#

Una vez que hayas exportado tu modelo YOLO26 al formato TF GraphDef, el siguiente paso es implementarlo. El primer paso principal y recomendado para ejecutar un modelo TF GraphDef es utilizar el método YOLO("model.pb"), como se mostró anteriormente en el fragmento de código de uso.

Sin embargo, para obtener más información sobre la implementación de tus modelos TF GraphDef, consulta los siguientes recursos:

  • TensorFlow Serving: una guía sobre TensorFlow Serving que enseña a implementar y servir modelos de aprendizaje automático de forma eficiente en entornos de producción.

  • TensorFlow Lite: esta página describe cómo convertir modelos de aprendizaje automático a un formato optimizado para la inferencia en el dispositivo con TensorFlow Lite.

  • TensorFlow.js: una guía sobre conversión de modelos que enseña a convertir modelos de TensorFlow o Keras al formato TensorFlow.js para utilizarlos en aplicaciones web.

Resumen#

En esta guía hemos explicado cómo exportar modelos Ultralytics YOLO26 al formato TF GraphDef. De este modo, puedes implementar tus modelos YOLO26 optimizados de forma flexible en distintos entornos.

Para obtener más información sobre el uso, visita la documentación oficial de TF GraphDef.

Para obtener más información sobre la integración de Ultralytics YOLO26 con otras plataformas y marcos, consulta nuestra página de guía de integraciones.

Preguntas frecuentes#

  • Los modelos Ultralytics YOLO26 se pueden exportar al formato TensorFlow GraphDef (TF GraphDef) fácilmente. Este formato proporciona una representación serializada e independiente de la plataforma del modelo, ideal para implementarlo en entornos diversos, como dispositivos móviles y la web. Para exportar un modelo YOLO26 a TF GraphDef, sigue estos pasos:

    Uso
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF GraphDef format
    model.export(format="pb")  # creates 'yolo26n.pb'
    
    # Load the exported TF GraphDef model
    tf_graphdef_model = YOLO("yolo26n.pb")
    
    # Run inference
    results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

    Para obtener más información sobre las distintas opciones de exportación, visita la documentación de Ultralytics sobre la exportación de modelos.

  • Exportar modelos YOLO26 al formato TF GraphDef ofrece varias ventajas, entre ellas:

    1. Independencia de la plataforma: TF GraphDef proporciona un formato independiente de la plataforma, lo que permite implementar modelos en diversos entornos, incluidos dispositivos móviles y navegadores web.
    2. Optimizaciones: El formato permite aplicar varias optimizaciones, como la propagación de constantes, la cuantización y las transformaciones del grafo, que mejoran la eficiencia de ejecución y reducen el uso de memoria.
    3. Aceleración de hardware: Los modelos en formato TF GraphDef pueden aprovechar aceleradores de hardware, como GPU, TPU y chips de IA, para mejorar el rendimiento.

    Obtén más información sobre las ventajas en la sección de TF GraphDef de nuestra documentación.

  • Ultralytics YOLO26 ofrece numerosas ventajas frente a otros modelos, como YOLOv5 y YOLOv7. Entre sus principales beneficios se incluyen:

    1. Rendimiento de última generación: YOLO26 proporciona una velocidad y una precisión excepcionales para la detección de objetos, la segmentación de instancias, la segmentación semántica y la clasificación en tiempo real.
    2. Facilidad de uso: ofrece una API fácil de usar para entrenar, validar, predecir y exportar modelos, por lo que resulta accesible tanto para principiantes como para expertos.
    3. Amplia compatibilidad: admite múltiples formatos de exportación, incluidos ONNX, TensorRT, CoreML y TensorFlow, para ofrecer opciones de implementación versátiles.

    Descubre más detalles en nuestra introducción a YOLO26.

  • Una vez exportado un modelo YOLO26 al formato TF GraphDef, puedes implementarlo en diversas plataformas de hardware especializado. Entre las situaciones habituales de implementación se incluyen:

    • TensorFlow Serving: utiliza TensorFlow Serving para implementar modelos de forma escalable en entornos de producción. Admite la gestión de modelos y un servicio eficiente.
    • Dispositivos móviles: convierte modelos TF GraphDef a TensorFlow Lite, optimizado para dispositivos móviles e integrados, lo que permite la inferencia en el dispositivo.
    • Navegadores web: implementa modelos mediante TensorFlow.js para realizar inferencias en el cliente en aplicaciones web.
    • Aceleradores de IA: aprovecha TPU y chips de IA personalizados para acelerar la inferencia.

    Consulta la sección de opciones de implementación para obtener información detallada.

  • Para solucionar problemas habituales al exportar modelos YOLO26, Ultralytics ofrece guías y recursos completos. Si encuentras problemas durante la instalación o la exportación del modelo, consulta:

    Estos recursos deberían ayudarte a resolver la mayoría de los problemas relacionados con la exportación y la implementación de modelos YOLO26.

Comentarios