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-05-18
Autores: glenn-jocher (1), Burhan-Q (1), abirami-vina (1)

Comentarios