Aprenda a exportar al formato TFLite Edge TPU desde el modelo YOLO11
Implementar modelos de visión artificial en dispositivos con potencia computacional limitada, como sistemas móviles o integrados, puede ser complicado. Utilizar 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 utilizar la mínima energía al tiempo que ofrece un rendimiento rápido para las redes neuronales.
La función de exportación al formato TFLite Edge TPU le permite optimizar sus modelos Ultralytics YOLO11 para una inferencia de alta velocidad y bajo consumo de energía. En esta guía, lo guiaremos a través de la conversión de sus modelos al formato TFLite Edge TPU, lo que facilita que sus modelos funcionen bien en varios dispositivos móviles e integrados.
¿Por qué debería 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 potencia, recursos informáticos y conectividad limitados. Edge TPU es un acelerador de hardware de Google. Acelera los modelos de TensorFlow Lite en dispositivos periféricos. La imagen de abajo muestra un ejemplo del proceso involucrado.
La Edge TPU funciona con modelos cuantificados. La cuantificación hace que los modelos sean más pequeños y rápidos sin perder mucha precisión. Es ideal para los recursos limitados de la computación perimetral, lo que permite que las aplicaciones respondan rápidamente al reducir la latencia y permitir el procesamiento rápido de datos localmente, sin dependencia de la nube. El procesamiento local también mantiene los datos del usuario privados y seguros, ya que no se envían a un servidor remoto.
Características principales de TFLite Edge TPU
Estas son las características clave que hacen de TFLite Edge TPU una excelente opción de formato de modelo para los desarrolladores:
-
Rendimiento optimizado en dispositivos Edge: El TFLite Edge TPU logra un rendimiento de red neuronal de alta velocidad a través de 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 la aceleración de hardware especializada y la ejecución eficiente del runtime para lograr un alto rendimiento computacional. Es ideal para implementar modelos de aprendizaje automático con estrictos requisitos de rendimiento en dispositivos edge.
-
Cálculos matriciales eficientes: El TensorFlow Edge TPU está optimizado para operaciones matriciales, que son cruciales para los cálculos de redes neuronales. Esta eficiencia es clave en los modelos de aprendizaje automático, en particular aquellos que requieren numerosas y complejas multiplicaciones y transformaciones matriciales.
Opciones de implementación con TFLite Edge TPU
Antes de ver cómo exportar modelos YOLO11 al formato TFLite Edge TPU, comprendamos dónde se utilizan normalmente los modelos TFLite Edge TPU.
TFLite Edge TPU ofrece varias opciones de implementación para modelos de aprendizaje automático, incluyendo:
-
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 a la nube.
-
Computación en el borde con Google Cloud TensorFlow TPU: En escenarios donde los dispositivos de borde tienen capacidades de procesamiento limitadas, TensorFlow Edge TPUs pueden descargar las tareas de inferencia a servidores en la nube equipados con TPUs.
-
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. Las ventajas incluyen el procesamiento en el dispositivo para respuestas rápidas y la computación en la nube para cálculos más complejos.
Exportación de modelos YOLO11 a TFLite Edge TPU
Puede ampliar la compatibilidad del modelo y la flexibilidad de la implementación convirtiendo los modelos YOLO11 a TensorFlow Edge TPU.
Instalación
Para instalar el paquete requerido, ejecute:
Instalación
# Install the required package for YOLO11
pip install ultralytics
Para obtener instrucciones detalladas y las mejores prácticas relacionadas con el proceso de instalación, consulte nuestra Guía de instalación de Ultralytics. Mientras instala los paquetes necesarios para YOLO11, si encuentra alguna dificultad, consulte nuestra Guía de problemas comunes para obtener soluciones y consejos.
Uso
Todos los modelos Ultralytics YOLO11 están diseñados para admitir la exportación de fábrica, lo que facilita su integración en tu flujo de trabajo de implementación 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.
Uso
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
Argumentos de exportación
Argumento | Tipo | Predeterminado | Descripción |
---|---|---|---|
format |
str |
'edgetpu' |
Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de implementación. |
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. |
device |
str |
None |
Especifica el dispositivo para la exportación: CPU (device=cpu ). |
Consejo
Asegúrese de utilizar una máquina x86 Linux al exportar a EdgeTPU.
Para obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre la exportación.
Implementación de modelos TFLite Edge TPU YOLO11 exportados
Después de exportar con éxito tus modelos Ultralytics YOLO11 al formato TFLite Edge TPU, ahora puedes implementarlos. El primer paso principal y recomendado para ejecutar un modelo TFLite Edge TPU es utilizar el método YOLO("model_edgetpu.tflite"), como se describe en el fragmento de código de uso anterior.
Sin embargo, para obtener instrucciones detalladas sobre cómo implementar sus modelos TFLite Edge TPU, consulte los siguientes recursos:
-
Coral Edge TPU en una Raspberry Pi con Ultralytics YOLO11: Descubre cómo integrar Coral Edge TPUs con Raspberry Pi para mejorar las capacidades de aprendizaje automático.
-
Ejemplos de código: Acceda a ejemplos prácticos de implementación de TensorFlow Edge TPU para poner en marcha sus proyectos.
-
Ejecutar inferencia en Edge TPU con python: Explora cómo utilizar la API de python de TensorFlow Lite para aplicaciones Edge TPU, incluyendo la configuración y las directrices de uso.
Resumen
En esta guía, hemos aprendido a exportar modelos Ultralytics YOLO11 al formato TFLite Edge TPU. Siguiendo los pasos mencionados anteriormente, puede aumentar la velocidad y la potencia de sus aplicaciones de visión artificial.
Para obtener más detalles sobre su uso, visite el sitio web oficial de Edge TPU.
Además, para obtener más información sobre otras integraciones de Ultralytics YOLO11, visita nuestra página de guía de integración. Allí descubrirás valiosos recursos e información.
Preguntas frecuentes
¿Cómo exporto un modelo YOLO11 al formato TFLite Edge TPU?
Para exportar un modelo YOLO11 al formato TFLite Edge TPU, puede seguir estos pasos:
Uso
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
Para obtener detalles completos sobre la exportación de modelos a otros formatos, consulte nuestra guía de exportación.
¿Cuáles son los beneficios de exportar modelos YOLO11 a TFLite Edge TPU?
La exportación de modelos YOLO11 a TFLite Edge TPU ofrece varias ventajas:
- Rendimiento optimizado: Logre un rendimiento de red neuronal de alta velocidad con un consumo de energía mínimo.
- Latencia Reducida: Procesamiento rápido de datos locales sin necesidad de depender de la nube.
- Privacidad mejorada: El procesamiento local mantiene los datos del usuario privados y seguros.
Esto lo hace ideal para aplicaciones en la computación perimetral, donde los dispositivos tienen energía y recursos computacionales limitados. Obtenga más información sobre por qué debería exportar.
¿Puedo implementar modelos TFLite Edge TPU en dispositivos móviles e integrados?
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 una inferencia más rápida y eficiente. Para ejemplos de integración, consulte nuestra guía sobre la implementación de Coral Edge TPU en Raspberry Pi.
¿Cuáles son algunos casos de uso comunes para los modelos TFLite Edge TPU?
Los casos de uso comunes para los modelos TFLite Edge TPU incluyen:
- Cámaras inteligentes: Mejora del análisis de imágenes y vídeos en tiempo real.
- Dispositivos IoT: Habilitación de la domótica y la automatización industrial.
- Atención médica: Aceleración de imágenes médicas y diagnósticos.
- Comercio minorista: Mejora de la gestión de inventario y el análisis del comportamiento del cliente.
Estas aplicaciones se benefician del alto rendimiento y el bajo consumo de energía de los modelos TFLite Edge TPU. Descubra más sobre los escenarios de uso.
¿Cómo puedo solucionar problemas al exportar o implementar modelos TFLite Edge TPU?
Si encuentra problemas al exportar o implementar modelos TFLite Edge TPU, consulte nuestra guía de problemas comunes para obtener consejos sobre la resolución de problemas. Esta guía cubre problemas comunes y soluciones para ayudarle a garantizar un funcionamiento sin problemas. Para obtener ayuda adicional, visite nuestro Centro de ayuda.