Ultralytics YOLO27:

Aprende a exportar al formato TFLite Edge TPU desde un modelo YOLO26#

Implementar modelos de visión por ordenador en dispositivos con una potencia de cálculo limitada, como sistemas móviles o integrados, puede resultar complicado. Usar un formato de modelo optimizado para un rendimiento más rápido simplifica el proceso. El formato de modelo TensorFlow Lite Edge TPU, o TFLite Edge TPU, está diseñado para consumir la mínima energía y ofrecer un rendimiento rápido en redes neuronales.

La función de exportación al formato TFLite Edge TPU te permite optimizar tus modelos Ultralytics YOLO26 para realizar inferencias a alta velocidad y con un bajo consumo energético. En esta guía, te explicaremos cómo convertir tus modelos al formato TFLite Edge TPU, para que funcionen mejor en diversos dispositivos móviles e integrados.

¿Por qué deberías exportar a TFLite Edge TPU?#

Exportar modelos a TensorFlow Edge TPU hace que las tareas de aprendizaje automático sean rápidas y eficientes. Esta tecnología es adecuada para aplicaciones con limitaciones de energía, recursos informáticos y conectividad. Edge TPU es un acelerador de hardware de Google. Acelera los modelos de TensorFlow Lite en dispositivos periféricos. La imagen siguiente muestra un ejemplo del proceso implicado.

TensorFlow Lite Edge TPU compilation workflow

Edge TPU funciona con modelos cuantizados. La cuantización hace que los modelos sean más pequeños y rápidos sin perder demasiada precisión. Es ideal para los recursos limitados de la computación periférica, ya que permite que las aplicaciones respondan rápidamente al reducir la latencia y posibilitar un procesamiento rápido de los datos de forma local, sin depender de la nube. El procesamiento local también mantiene los datos de los usuarios privados y seguros, ya que no se envían a un servidor remoto.

Características clave de TFLite Edge TPU#

Estas son las características clave que convierten TFLite Edge TPU en una excelente opción de formato de modelo para desarrolladores:

  • Rendimiento optimizado en dispositivos periféricos: TFLite Edge TPU logra un rendimiento de redes neuronales a alta velocidad mediante la cuantización, la optimización del modelo, la aceleración de hardware y la optimización del compilador. Su arquitectura minimalista contribuye a su menor tamaño y rentabilidad.

  • Alto rendimiento computacional: TFLite Edge TPU combina una aceleración de hardware especializada y una ejecución eficiente en tiempo de ejecución para lograr un alto rendimiento computacional. Es especialmente adecuado para implementar modelos de aprendizaje automático con requisitos estrictos de rendimiento en dispositivos periféricos.

  • Cálculos matriciales eficientes: TensorFlow Edge TPU está optimizado para operaciones matriciales, que son fundamentales para los cálculos de redes neuronales. Esta eficiencia es clave en los modelos de aprendizaje automático, especialmente en aquellos que requieren numerosas y complejas multiplicaciones y transformaciones matriciales.

Opciones de implementación con TFLite Edge TPU#

Antes de explicar cómo exportar modelos YOLO26 al formato TFLite Edge TPU, entendamos dónde se suelen utilizar los modelos TFLite Edge TPU.

TFLite Edge TPU ofrece varias opciones de implementación para modelos de aprendizaje automático, entre ellas:

  • Implementación en el dispositivo: los modelos TensorFlow Edge TPU se pueden implementar directamente en dispositivos móviles e integrados. La implementación en el dispositivo permite que los modelos se ejecuten directamente en el hardware, eliminando la necesidad de conectividad con la nube, ya sea integrando el modelo en el paquete de la aplicación o descargándolo bajo demanda.

  • Implementación híbrida: un enfoque híbrido combina la implementación en el dispositivo y en la nube, y ofrece una solución versátil y escalable para implementar modelos de aprendizaje automático. Entre sus ventajas se incluyen el procesamiento en el dispositivo para obtener respuestas rápidas y la computación en la nube para cálculos más complejos.

Tareas compatibles#

La exportación a Edge TPU admite seis de las siete tareas de Ultralytics. La segmentación semántica solo está disponible con YOLO26, la única familia que incluye esa cabeza. La estimación de profundidad no es compatible porque su modelo INT8 emite un operador EXP v2 que el compilador de Edge TPU no puede analizar.

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

El compilador de Edge TPU asigna las operaciones compatibles al acelerador y deja el resto en la CPU, por lo que la compatibilidad con una tarea no significa que todas las operaciones se ejecuten en la TPU.

Exportación de modelos YOLO26 a TFLite Edge TPU#

Puedes ampliar la compatibilidad de los modelos y la flexibilidad de implementación convirtiendo modelos YOLO26 a TensorFlow Edge TPU.

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 TFLite Edge TPU admite los modos Exportar, Predecir y Validar. La inferencia y la validación se ejecutan en hardware Coral Edge TPU. 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 TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
Predecir
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

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

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

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

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'edgetpu'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 str8/autoPrecisión de cuantización. 8 (INT8) es obligatorio y se activa automáticamente para Edge TPU, lo que comprime el modelo y acelera la inferencia con una pérdida mínima de precisión en dispositivos periféricos. Sustituye a las marcas obsoletas half/int8.
opsetintNoneEspecifica la versión del opset de ONNX para el grafo ONNX intermedio. Si no se establece, utiliza la última versión compatible.
datastrNoneRuta 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.
fractionfloat, int o list1.0Subconjunto 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.
devicestrNoneEspecifica el dispositivo para la exportación: CPU (device=cpu).
Consejo

Asegúrate de utilizar una máquina Linux x86 al exportar a Edge TPU.

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 TFLite Edge TPU exportados#

Después de exportar correctamente tus modelos Ultralytics YOLO26 al formato TFLite Edge TPU, ya puedes implementarlos. El primer paso principal y recomendado para ejecutar un modelo TFLite Edge TPU es usar el método YOLO("model_edgetpu.tflite"), como se indica en el fragmento de código de uso anterior.

Sin embargo, para obtener instrucciones detalladas sobre la implementación de tus modelos Edge TPU, consulta los siguientes recursos:

Resumen#

En esta guía, hemos aprendido a exportar modelos Ultralytics YOLO26 al formato TFLite Edge TPU. Si sigues los pasos indicados anteriormente, puedes aumentar la velocidad y reducir el consumo energético de tus aplicaciones de visión por ordenador.

Para más detalles sobre el uso, visita el sitio web oficial de Coral Edge TPU.

Además, para obtener más información sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de la guía de integraciones. Allí encontrarás recursos e información útiles.

Preguntas frecuentes#

  • Para exportar un modelo YOLO26 al formato TFLite Edge TPU, puedes seguir estos pasos:

    Uso
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TFLite Edge TPU format
    model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
    
    # Load the exported TFLite Edge TPU model
    edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
    
    # Run inference
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    Para obtener todos los detalles sobre la exportación de modelos a otros formatos, consulta nuestra guía de exportación.

  • Exportar modelos YOLO26 a TFLite Edge TPU ofrece varias ventajas:

    • Rendimiento optimizado: consigue un rendimiento de redes neuronales a alta velocidad con un consumo energético mínimo.
    • Menor latencia: procesamiento local rápido de los datos sin depender de la nube.
    • Mayor privacidad: el procesamiento local mantiene los datos de los usuarios privados y seguros.

    Esto lo hace ideal para aplicaciones de computación periférica, donde los dispositivos tienen una potencia y unos recursos informáticos limitados. Obtén más información sobre por qué deberías exportar.

  • Sí, los modelos TensorFlow Lite Edge TPU se pueden implementar directamente en dispositivos móviles e integrados. Este enfoque de implementación permite que los modelos se ejecuten directamente en el hardware, ofreciendo inferencias más rápidas y eficientes. Para ver ejemplos de integración, consulta nuestra guía sobre la implementación de Coral Edge TPU en Raspberry Pi.

  • Entre los casos de uso habituales de los modelos TFLite Edge TPU se incluyen:

    • Cámaras inteligentes: mejoran el análisis de imágenes y vídeos en tiempo real.
    • Dispositivos IoT: permiten la automatización industrial y del hogar inteligente.
    • Sanidad: aceleran el diagnóstico y el procesamiento de imágenes médicas.
    • Venta minorista: mejoran la gestión del inventario y el análisis del comportamiento de los clientes.

    Estas aplicaciones se benefician del alto rendimiento y el bajo consumo energético de los modelos TFLite Edge TPU. Descubre más información sobre los escenarios de uso.

  • Si encuentras problemas al exportar o implementar modelos TFLite Edge TPU, consulta nuestra guía de problemas habituales para obtener consejos de resolución. Esta guía aborda problemas y soluciones habituales para ayudarte a garantizar un funcionamiento correcto. Para obtener asistencia adicional, visita nuestro Centro de ayuda.

Comentarios