Saltar al contenido

Aprende a exportar a formato TFLite Edge TPU desde el modelo YOLOv8

Desplegar modelos de visión por ordenador en dispositivos con una potencia de cálculo limitada, como los 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 consumir la mínima energía y, al mismo tiempo, ofrecer un rendimiento rápido a las redes neuronales.

La función de exportación al formato TFLite Edge TPU te permite optimizar tus Ultralytics YOLOv8 modelos para inferencias de alta velocidad y bajo consumo. En esta guía, te guiaremos a través de la conversión de tus modelos al formato TFLite Edge TPU , facilitando que tus modelos funcionen bien 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 se adapta a aplicaciones con potencia, recursos informáticos y conectividad limitados. Edge TPU es un acelerador de hardware de Google. Acelera los modelos TensorFlow Lite en dispositivos Edge. La siguiente imagen muestra un ejemplo del proceso.

Borde TFLite TPU

El Borde TPU funciona con modelos cuantizados. La cuantizació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 informática de borde, ya que permite que las aplicaciones respondan con rapidez al reducir la latencia y permitir un procesamiento rápido de los datos a nivel local, sin depender 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

Éstas son las características clave que hacen de TFLite Edge TPU una gran elección de formato de modelo para los desarrolladores:

  • Rendimiento optimizado en dispositivos Edge: El TFLite Edge TPU consigue un rendimiento de red neuronal de alta velocidad mediante la cuantización, la optimización del modelo, la aceleración del 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 especializado y la ejecución eficiente en tiempo de ejecución para lograr un alto rendimiento computacional. Es muy adecuado para desplegar modelos de aprendizaje automático con estrictos requisitos de rendimiento en dispositivos periféricos.

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

Opciones de despliegue con TFLite Edge TPU

Antes de pasar a cómo exportar modelos YOLOv8 al formato TFLite Edge TPU , vamos a entender dónde se suelen utilizar los modelos TFLite Edge TPU .

TFLite Edge TPU ofrece varias opciones de despliegue para los modelos de aprendizaje automático, entre ellas:

  • Despliegue en dispositivos: TensorFlow Los modelos Edge TPU pueden desplegarse directamente en dispositivos móviles e integrados. El despliegue en el dispositivo permite que los modelos se ejecuten directamente en el hardware, eliminando la necesidad de conectividad en la nube.

  • Edge Computing con TPUs en la Nube TensorFlow : En escenarios en los que los dispositivos de borde tienen capacidades de procesamiento limitadas, las TPU de borde TensorFlow pueden descargar las tareas de inferencia a servidores en la nube equipados con TPU.

  • Despliegue híbrido: Un enfoque híbrido combina el despliegue en el dispositivo y en la nube, y ofrece una solución versátil y escalable para desplegar 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.

Exportar modelos YOLOv8 a TFLite Edge TPU

Puedes ampliar la compatibilidad de modelos y la flexibilidad de despliegue convirtiendo los modelos YOLOv8 a TensorFlow Edge TPU.

Instalación

Para instalar el paquete necesario, ejecuta

Instalación

# Install the required package for YOLOv8
pip install ultralytics

Para obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalaciónUltralytics . Mientras instalas los paquetes necesarios para YOLOv8, si encuentras alguna dificultad, consulta nuestra guía de Problemas comunes para encontrar soluciones y consejos.

Utilización

Antes de sumergirte en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLOv8 están disponibles para exportar, aquí puedes asegurarte de que el modelo que seleccionas admite la función de exportación.

Utilización

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TFLite Edge TPU format
model.export(format='edgetpu')  # creates 'yolov8n_full_integer_quant_edgetpu.tflite’

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO('yolov8n_full_integer_quant_edgetpu.tflite')

# Run inference
results = edgetpu_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TFLite Edge TPU format
yolo export model=yolov8n.pt format=edgetpu  # creates 'yolov8n_full_integer_quant_edgetpu.tflite'

# Run inference with the exported model
yolo predict model=yolov8n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'

Para más detalles sobre las opciones de exportación admitidas, visita la página de documentaciónUltralytics sobre opciones de despliegue.

Despliegue de modelos exportados YOLOv8 TFLite Edge TPU

Después de exportar con éxito tus modelos Ultralytics YOLOv8 al formato TPU de TFLite Edge, ya puedes desplegarlos. El primer paso principal y recomendado para ejecutar un modelo TPU de TFLite Edge es utilizar 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 el despliegue de tus modelos TFLite Edge TPU , echa un vistazo a los siguientes recursos:

Resumen

En esta guía, hemos aprendido a exportar modelos Ultralytics YOLOv8 al formato TFLite Edge TPU . Siguiendo los pasos mencionados, podrás aumentar la velocidad y la potencia de tus aplicaciones de visión por ordenador.

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

Además, para obtener más información sobre otras integraciones de Ultralytics YOLOv8 , visita nuestra página de guía de integración. Allí descubrirás valiosos recursos y conocimientos.



Creado 2024-03-13, Actualizado 2024-04-02
Autores: Burhan-Q (1), abirami-vina (1)

Comentarios