Saltar al contenido

Gu铆a de exportaci贸n de modelos YOLOv8 a TFLite para su despliegue

Logotipo TFLite

Desplegar modelos de visi贸n por ordenador en dispositivos perif茅ricos o integrados requiere un formato que garantice un rendimiento sin fisuras.

El formato de exportaci贸n TensorFlow Lite o TFLite te permite optimizar tus Ultralytics YOLOv8 modelos para tareas como la detecci贸n de objetos y la clasificaci贸n de im谩genes en aplicaciones basadas en dispositivos de borde. En esta gu铆a, recorreremos los pasos para convertir tus modelos al formato TFLite, facilitando que tus modelos funcionen bien en diversos dispositivos de borde.

驴Por qu茅 deber铆as exportar a TFLite?

Presentado por Google en mayo de 2017 como parte de su marco TensorFlow , TensorFlow Lite, o TFLite para abreviar, es un marco de aprendizaje profundo de c贸digo abierto dise帽ado para la inferencia en dispositivos, tambi茅n conocida como computaci贸n de borde. Proporciona a los desarrolladores las herramientas necesarias para ejecutar sus modelos entrenados en dispositivos m贸viles, integrados e IoT, as铆 como en ordenadores tradicionales.

TensorFlow Lite es compatible con una amplia gama de plataformas, como Linux embebido, Android, iOS y MCU. Exportar tu modelo a TFLite hace que tus aplicaciones sean m谩s r谩pidas, fiables y capaces de funcionar sin conexi贸n.

Caracter铆sticas principales de los modelos TFLite

Los modelos TFLite ofrecen una amplia gama de funciones clave que permiten el aprendizaje autom谩tico en el dispositivo, ayudando a los desarrolladores a ejecutar sus modelos en dispositivos m贸viles, integrados y perif茅ricos:

  • Optimizaci贸n en el dispositivo: TFLite optimiza para ML en el dispositivo, reduciendo la latencia al procesar los datos localmente, mejorando la privacidad al no transmitir datos personales y minimizando el tama帽o del modelo para ahorrar espacio.

  • Compatibilidad con m煤ltiples plataformas: TFLite ofrece una amplia compatibilidad de plataformas, compatible con Android, iOS, Linux embebido y microcontroladores.

  • Compatibilidad con diversos lenguajes: TFLite es compatible con diversos lenguajes de programaci贸n, como Java, Swift, Objective-C, C++ y Python.

  • Alto rendimiento: Consigue un rendimiento superior mediante la aceleraci贸n del hardware y la optimizaci贸n del modelo.

Opciones de despliegue en TFLite

Antes de ver el c贸digo para exportar los modelos YOLOv8 al formato TFLite, vamos a entender c贸mo se utilizan normalmente los modelos TFLite.

TFLite ofrece varias opciones de despliegue en el dispositivo para los modelos de aprendizaje autom谩tico, entre las que se incluyen:

  • Despliegue con Android e iOS: Tanto las aplicaciones para Android como para iOS con TFLite pueden analizar la alimentaci贸n de c谩maras y sensores basados en bordes para detectar e identificar objetos. TFLite tambi茅n ofrece bibliotecas nativas para iOS escritas en Swift y Objective-C. El siguiente diagrama de arquitectura muestra el proceso de despliegue de un modelo entrenado en plataformas Android e iOS utilizando TensorFlow Lite.

Arquitectura

  • Implementaci贸n con Linux embebido: Si ejecutar inferencias en una Raspberry Pi utilizando la Gu铆aUltralytics no cumple los requisitos de velocidad para tu caso de uso, puedes utilizar un modelo TFLite exportado para acelerar los tiempos de inferencia. Adem谩s, es posible mejorar a煤n m谩s el rendimiento utilizando un dispositivo Coral Edge TPU .

  • Despliegue con microcontroladores: Los modelos TFLite tambi茅n pueden desplegarse en microcontroladores y otros dispositivos con s贸lo unos pocos kilobytes de memoria. El n煤cleo de ejecuci贸n s贸lo cabe en 16 KB en un Arm Cortex M3 y puede ejecutar muchos modelos b谩sicos. No requiere soporte del sistema operativo, ni bibliotecas C o C++ est谩ndar, ni asignaci贸n din谩mica de memoria.

Exportar a TFLite: Conversi贸n de tu modelo YOLOv8

Puedes mejorar la eficacia de la ejecuci贸n de los modelos en el dispositivo y optimizar el rendimiento convirti茅ndolos al formato TFLite.

Instalaci贸n

Para instalar los paquetes necesarios, 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 format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolov8n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

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

Para m谩s detalles sobre el proceso de exportaci贸n, visita la p谩gina de documentaci贸nUltralytics sobre exportaci贸n.

Despliegue de modelos TFLite exportados de YOLOv8

Despu茅s de exportar con 茅xito tus modelos Ultralytics YOLOv8 al formato TFLite, ya puedes desplegarlos. El primer paso principal y recomendado para desplegar un modelo TFLite es utilizar el m茅todo YOLO("model.tflite"), como se indica en el fragmento de c贸digo de uso anterior. Sin embargo, para obtener instrucciones detalladas sobre c贸mo desplegar tus modelos TFLite en otras configuraciones distintas, echa un vistazo a los siguientes recursos:

  • Android: Una gu铆a de inicio r谩pido para integrar TensorFlow Lite en aplicaciones Android, que proporciona pasos f谩ciles de seguir para configurar y ejecutar modelos de aprendizaje autom谩tico.

  • iOS: Consulta esta gu铆a detallada para desarrolladores sobre la integraci贸n y despliegue de modelos TensorFlow Lite en aplicaciones iOS, que ofrece instrucciones paso a paso y recursos.

  • Ejemplos de extremo a extremo: Esta p谩gina proporciona una visi贸n general de varios ejemplos de TensorFlow Lite, mostrando aplicaciones pr谩cticas y tutoriales dise帽ados para ayudar a los desarrolladores a implementar TensorFlow Lite en sus proyectos de aprendizaje autom谩tico en dispositivos m贸viles y edge.

Resumen

En esta gu铆a, nos centramos en c贸mo exportar al formato TFLite. Al convertir tus modelos Ultralytics YOLOv8 al formato de modelo TFLite, puedes mejorar la eficacia y velocidad de los modelos YOLOv8 , haci茅ndolos m谩s eficaces y adecuados para entornos de computaci贸n de borde.

Para m谩s detalles sobre su uso, visita la documentaci贸n oficial de TFLite.

Adem谩s, si tienes curiosidad por otras integraciones de Ultralytics YOLOv8 , no dejes de consultar nuestra p谩gina de gu铆a de integraciones. All铆 encontrar谩s un mont贸n de informaci贸n 煤til.



Creado 2024-03-01, Actualizado 2024-05-18
Autores: glenn-jocher (2), abirami-vina (1)

Comentarios