Ir al contenido

Guía para la Exportación de Modelos YOLO26 a TFLite para Despliegue

Marco de implementación periférica TensorFlow

La implementación de modelos de visión artificial en dispositivos periféricos o dispositivos integrados requiere un formato que pueda garantizar un rendimiento perfecto.

El formato de exportación TensorFlow Lite o TFLite le permite optimizar sus modelos Ultralytics YOLO26 para tareas como la detección de objetos y la clasificación de imágenes en aplicaciones basadas en dispositivos edge. En esta guía, le mostraremos los pasos para convertir sus modelos al formato TFLite, facilitando que sus modelos funcionen de manera óptima en diversos dispositivos edge.

¿Por qué deberías exportar a TFLite?

Introducido por Google en mayo de 2017 como parte de su framework TensorFlow, TensorFlow Lite, o TFLite para abreviar, es un framework de deep learning de código abierto diseñado para la inferencia en el dispositivo, también conocido como edge computing. Proporciona a los desarrolladores las herramientas necesarias para ejecutar sus modelos entrenados en dispositivos móviles, embebidos y de IoT, así como en ordenadores tradicionales.

TensorFlow Lite es compatible con una amplia gama de plataformas, incluyendo Linux integrado, Android, iOS y microcontroladores (MCUs). Exportar su modelo a TFLite hace que sus aplicaciones sean más rápidas, fiables y capaces de ejecutarse sin conexión.

Características clave de los modelos TFLite

Los modelos TFLite ofrecen una amplia gama de características clave que permiten el aprendizaje automático en el dispositivo al ayudar a los desarrolladores a ejecutar sus modelos en dispositivos móviles, integrados y periféricos:

  • Optimización en el dispositivo: TFLite optimiza para el 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.

  • Soporte Multiplataforma: TFLite ofrece una amplia compatibilidad con plataformas, soportando Android, iOS, Linux embebido y microcontroladores.

  • Soporte de diversos lenguajes: TFLite es compatible con varios lenguajes de programación, incluyendo Java, Swift, Objective-C, C++ y Python.

  • Alto rendimiento: Alcanza un rendimiento superior a través de la aceleración por hardware y la optimización de modelos.

Opciones de implementación en TFLite

Antes de revisar el código para exportar modelos YOLO26 al formato TFLite, comprendamos cómo se utilizan normalmente los modelos TFLite.

TFLite ofrece varias opciones de implementación en el dispositivo para modelos de aprendizaje automático, incluyendo:

  • Implementación con Android e iOS: Tanto las aplicaciones de Android como de iOS con TFLite pueden analizar feeds de cámaras y sensores basados en el borde para detectar e identificar objetos. TFLite también ofrece bibliotecas nativas de iOS escritas en Swift y Objective-C. El diagrama de arquitectura a continuación muestra el proceso de implementación de un modelo entrenado en plataformas Android e iOS utilizando TensorFlow Lite.

Arquitectura de implementación de TensorFlow para dispositivos móviles

  • Implementación con Linux Integrado: Si la ejecución de inferencias en una Raspberry Pi utilizando la Guía de Ultralytics no cumple con los requisitos de velocidad para su caso de uso, puede 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.

  • Implementación con Microcontroladores: Los modelos TFLite también se pueden implementar en microcontroladores y otros dispositivos con solo unos pocos kilobytes de memoria. El runtime central cabe en solo 16 KB en un Arm Cortex M3 y puede ejecutar muchos modelos básicos. No requiere soporte del sistema operativo, ninguna biblioteca estándar de C o C++, ni asignación dinámica de memoria.

Exportar a TFLite: Convirtiendo su Modelo YOLO26

Puedes mejorar la eficiencia de la ejecución del modelo en el dispositivo y optimizar el rendimiento convirtiendo tus modelos al formato TFLite.

Instalación

Para instalar los paquetes necesarios, ejecute:

Instalación

# Install the required package for YOLO26
pip install ultralytics

Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulte nuestra guía de instalación de Ultralytics. Mientras instala los paquetes requeridos para YOLO26, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.

Uso

Todos los modelos Ultralytics YOLO26 están diseñados para soportar la exportación de forma nativa, facilitando su integración en su flujo de trabajo de despliegue preferido. Puede ver la lista completa de formatos de exportación y opciones de configuración compatibles para elegir la mejor configuración para su aplicación.

Uso

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

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

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

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

Argumentos de exportación

ArgumentoTipoPredeterminadoDescripción
formatstr'tflite'Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de implementación.
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.
halfboolFalseActiva la cuantización FP16 (media precisión), reduciendo el tamaño del modelo y, potencialmente, acelerando la inferencia en hardware compatible.
int8boolFalseActiva la cuantización INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida mínima de precisión, principalmente para dispositivos de borde.
nmsboolFalseAñade la Supresión No Máxima (NMS), esencial para un post-procesamiento de detección preciso y eficiente.
batchint1Especifica el tamaño del lote de inferencia del modelo exportado o el número máximo de imágenes que el modelo exportado procesará simultáneamente en predict modo.
datastr'coco8.yaml'Ruta al conjunto de datos archivo de configuración (por defecto: coco8.yaml), esencial para la cuantificación.
fractionfloat1.0Especifica la fracción del conjunto de datos que se utilizará para la calibración de la cuantificación INT8. Permite calibrar en un subconjunto del conjunto de datos completo, útil para experimentos o cuando los recursos son limitados. Si no se especifica con INT8 habilitado, se utilizará el conjunto de datos completo.
devicestrNoneEspecifica el dispositivo para la exportación: CPU (device=cpu), MPS para Apple silicon (device=mps).

Para obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre la exportación.

Despliegue de Modelos YOLO26 TFLite Exportados

Una vez exportados con éxito sus modelos Ultralytics YOLO26 al formato TFLite, ya puede desplegarlos. El primer paso principal y recomendado para ejecutar un modelo TFLite es utilizar el YOLO("model.tflite") método, como se describe en el fragmento de código de uso anterior. Sin embargo, para obtener instrucciones detalladas sobre cómo implementar sus modelos de TFLite en otros entornos, consulte 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: Consulte esta guía detallada para desarrolladores sobre la integración e implementación de modelos TensorFlow Lite en aplicaciones iOS, que ofrece instrucciones paso a paso y recursos.

  • Ejemplos End-To-End: 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 en el borde.

Resumen

En esta guía, nos centramos en cómo exportar al formato TFLite. Al convertir sus modelos Ultralytics YOLO26 al formato de modelo TFLite, puede mejorar la eficiencia y velocidad de los modelos YOLO26, haciéndolos más efectivos y adecuados para entornos de edge computing.

Para obtener más detalles sobre el uso, visite la documentación oficial de TFLite.

Además, si tiene curiosidad sobre otras integraciones de Ultralytics YOLO26, consulte nuestra página de guía de integración. Allí encontrará mucha información y conocimientos útiles.

Preguntas frecuentes

¿Cómo exporto un modelo YOLO26 al formato TFLite?

Para exportar un modelo YOLO26 al formato TFLite, puede utilizar la biblioteca Ultralytics. Primero, instale el paquete requerido usando:

pip install ultralytics

Luego, use el siguiente fragmento de código para exportar su modelo:

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

Para los usuarios de la CLI, puede lograr esto con:

yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'

Para obtener más detalles, visite la guía de exportación de Ultralytics.

¿Cuáles son los beneficios de usar TensorFlow Lite para el despliegue de modelos YOLO26?

TensorFlow Lite (TFLite) es un framework de deep learning de código abierto diseñado para la inferencia en dispositivos, lo que lo hace ideal para desplegar modelos YOLO26 en dispositivos móviles, embebidos y de IoT. Los beneficios clave incluyen:

  • Optimización en el dispositivo: Minimice la latencia y mejore la privacidad procesando los datos localmente.
  • Compatibilidad de plataforma: Compatible con Android, iOS, Linux integrado y MCU.
  • Rendimiento: Utiliza la aceleración de hardware para optimizar la velocidad y la eficiencia del modelo.

Para obtener más información, consulte la guía de TFLite.

¿Es posible ejecutar modelos YOLO26 TFLite en Raspberry Pi?

Sí, puede ejecutar modelos YOLO26 TFLite en Raspberry Pi para mejorar las velocidades de inferencia. Primero, exporte su modelo al formato TFLite como se explicó anteriormente. Luego, use una herramienta como TensorFlow Lite Interpreter para ejecutar el modelo en su Raspberry Pi.

Para optimizaciones adicionales, podrías considerar el uso de Coral Edge TPU. Para conocer los pasos detallados, consulta nuestra guía de implementación en Raspberry Pi y la guía de integración de Edge TPU.

¿Puedo usar modelos TFLite en microcontroladores para predicciones YOLO26?

Sí, TFLite soporta el despliegue en microcontroladores con recursos limitados. El tiempo de ejecución central de TFLite requiere solo 16 KB de memoria en un Arm Cortex M3 y puede ejecutar modelos YOLO26 básicos. Esto lo hace adecuado para el despliegue en dispositivos con mínima potencia computacional y memoria.

Para empezar, visite la Guía de TFLite Micro para Microcontroladores.

¿Qué plataformas son compatibles con los modelos YOLO26 exportados a TFLite?

TensorFlow Lite ofrece una amplia compatibilidad de plataforma, lo que le permite desplegar modelos YOLO26 en una gran variedad de dispositivos, incluyendo:

  • Android e iOS: Soporte nativo a través de las bibliotecas TFLite para Android e iOS.
  • Linux integrado: Ideal para ordenadores de placa única como Raspberry Pi.
  • Microcontroladores: Adecuado para MCU con recursos limitados.

Para obtener más información sobre las opciones de implementación, consulte nuestra guía de implementación detallada.

¿Cómo soluciono problemas comunes durante la exportación de modelos YOLO26 a TFLite?

Si encuentra errores al exportar modelos YOLO26 a TFLite, las soluciones comunes incluyen:

  • Verificar la compatibilidad de los paquetes: Asegúrese de que está utilizando versiones compatibles de Ultralytics y TensorFlow. Consulte nuestra guía de instalación.
  • Soporte del modelo: Verifique que el modelo YOLO26 específico soporte la exportación a TFLite consultando la página de documentación de exportación de Ultralytics.
  • Problemas de cuantificación: Cuando utilices la cuantización INT8, asegúrate de que la ruta de tu conjunto de datos esté correctamente especificada en el data parámetro.

Para obtener consejos adicionales para la resolución de problemas, visite nuestra guía de problemas comunes.



📅 Creado hace 1 año ✏️ Actualizado hace 4 días
glenn-jocherlakshanthadpderrengerlakshanthadambitious-octopusUltralyticsAssistantMatthewNoyceRizwanMunawarabirami-vina

Comentarios