Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Integraciones

Implementa modelos Ultralytics YOLO con la integración de ExecuTorch

Descubre cómo exportar modelos Ultralytics YOLO, como Ultralytics YOLO11, al formato ExecuTorch para implementarlos de forma eficiente y nativa con PyTorch en dispositivos periféricos y móviles.

Abirami VinaAbirami Vina12 min de lectura
Implementación de modelos Ultralytics YOLO con la integración de ExecuTorch

Algunas aplicaciones de visión artificial, como la inspección automatizada de calidad, los drones autónomos o los sistemas de seguridad inteligentes, funcionan mejor cuando los modelos Ultralytics YOLO, como Ultralytics YOLO11, se ejecutan cerca del sensor que captura las imágenes. En otras palabras, estos modelos deben procesar los datos directamente donde se generan, en cámaras, drones o sistemas integrados, en lugar de enviarlos a la nube.

Este enfoque, conocido como IA en el borde, permite que los modelos realicen inferencias directamente en el dispositivo donde se capturan los datos. Al procesar la información localmente en vez de depender de servidores remotos, los sistemas pueden reducir la latencia, mejorar la privacidad de los datos y ofrecer más fiabilidad, incluso en entornos con conectividad a Internet limitada o inexistente.

Por ejemplo, una cámara de fabricación que inspecciona miles de productos por minuto o un dron que navega por entornos complejos no pueden permitirse los retrasos del procesamiento en la nube. Ejecutar Ultralytics YOLO11 directamente en el dispositivo permite realizar inferencias al instante.

Para que ejecutar modelos Ultralytics YOLO en el borde sea más sencillo y eficiente, la nueva integración de ExecuTorch, compatible con Ultralytics, ofrece una forma optimizada de exportar y desplegar modelos directamente en dispositivos móviles e integrados. ExecuTorch forma parte del ecosistema PyTorch Edge y ofrece una solución integral para ejecutar modelos de IA directamente en hardware móvil y de borde, incluidos teléfonos, dispositivos wearables, placas integradas y microcontroladores.

Esta integración facilita llevar un modelo Ultralytics YOLO, como YOLO11, desde el entrenamiento hasta el despliegue en dispositivos de borde. Al combinar las capacidades de visión de YOLO11 con el entorno de ejecución ligero de ExecuTorch y el flujo de exportación de PyTorch, los usuarios pueden desplegar modelos que se ejecutan de forma eficiente en hardware de borde y conservan la precisión y el rendimiento de la inferencia basada en PyTorch.

En este artículo, veremos con más detalle cómo funciona la integración con ExecuTorch, por qué encaja tan bien con las aplicaciones de IA perimetral y cómo puedes empezar a implementar modelos Ultralytics YOLO con ExecuTorch.

¿Qué es ExecuTorch?#

Normalmente, cuando entrenas un modelo en PyTorch, este se ejecuta en servidores potentes o en unidades de procesamiento gráfico (GPUs) en la nube. Sin embargo, implementar ese mismo modelo en un dispositivo móvil o integrado, como un teléfono inteligente, un dron o un microcontrolador, requiere una solución especializada capaz de funcionar con una potencia de cálculo, una memoria y una conectividad limitadas.

Eso es precisamente lo que ofrece ExecuTorch. ExecuTorch es una solución integral desarrollada como parte del ecosistema PyTorch Edge que permite realizar inferencias eficientes en el dispositivo en plataformas móviles, integradas y de borde. Amplía las capacidades de PyTorch más allá de la nube y permite que los modelos de IA se ejecuten directamente en dispositivos locales.

Llevar la inferencia de PyTorch al borde#

En esencia, ExecuTorch proporciona un entorno de ejecución ligero en C++ que permite ejecutar modelos PyTorch directamente en el dispositivo. ExecuTorch utiliza el formato de modelo PyTorch ExecuTorch (.pte), un formato de exportación optimizado para acelerar la carga, reducir el uso de memoria y mejorar la portabilidad.

Admite XNNPACK como backend predeterminado para realizar inferencias eficientes en la unidad central de procesamiento (CPU) y amplía la compatibilidad a una amplia gama de backends de hardware, como CoreML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO y otros.

Estos backends permiten una aceleración optimizada en dispositivos móviles, integrados y especializados de borde. ExecuTorch también se integra con el flujo de exportación de PyTorch y admite funciones avanzadas como la cuantización y la gestión dinámica de formas para mejorar el rendimiento y la adaptabilidad en distintos entornos de despliegue.

La cuantización reduce el tamaño del modelo y acelera las inferencias al convertir valores de alta precisión (como los números de coma flotante de 32 bits) en valores de menor precisión, mientras que la gestión dinámica de formas permite que los modelos procesen eficientemente tamaños de entrada variables. Ambas funciones son fundamentales para ejecutar modelos de IA en dispositivos de borde con recursos limitados.

Así funciona ExecuTorch

Fig. 1. Así funciona ExecuTorch (Fuente)

Una capa unificada para el hardware de borde#

Además de su entorno de ejecución, ExecuTorch también actúa como una capa de abstracción unificada para varios backends de hardware. En pocas palabras, abstrae los detalles específicos del hardware y gestiona la interacción de los modelos con distintas unidades de procesamiento, incluidas las unidades centrales de procesamiento (CPUs), las unidades de procesamiento gráfico (GPUs) y las unidades de procesamiento neuronal (NPUs).

Una vez exportado un modelo, ExecuTorch puede configurarse para utilizar el backend más adecuado para un dispositivo determinado. Los desarrolladores pueden desplegar modelos de forma eficiente en distintos tipos de hardware sin escribir código personalizado para cada dispositivo ni mantener flujos de conversión separados.

Gracias a su diseño modular y portátil y a su estrecha integración con PyTorch, ExecuTorch es una excelente opción para implementar modelos de visión artificial como Ultralytics YOLO11 en sistemas móviles e integrados. Conecta el entrenamiento de modelos con su implementación en el mundo real y hace que la IA perimetral sea más rápida, eficiente y fácil de implementar.

Funciones principales de ExecuTorch#

Antes de ver cómo exportar modelos Ultralytics YOLO al formato ExecuTorch, exploremos qué convierte a ExecuTorch en una opción fiable para implementar IA en el perímetro.

Estas son algunas de sus funciones principales:

  • Compatibilidad con la cuantización: ExecuTorch admite la cuantización de modelos, una técnica que convierte valores de alta precisión en valores de menor precisión para reducir el tamaño del modelo y acelerar la inferencia. Así, los modelos se ejecutan más rápido y utilizan menos memoria en los dispositivos perimetrales, al tiempo que mantienen un nivel de precisión prácticamente igual. La exportación de Ultralytics genera actualmente modelos FP32 para el backend XNNPACK.
  • Uso eficiente de la memoria: Una de las mayores ventajas de ExecuTorch es cómo gestiona la memoria. En lugar de depender de la asignación dinámica de memoria, que puede añadir latencia y consumo de energía, ExecuTorch utiliza la planificación de memoria anticipada (AOT). Durante la exportación, analiza el grafo del modelo y calcula de antemano cuánta memoria necesita cada operación. Así, el entorno de ejecución puede ejecutar modelos con un plan de memoria estático, lo que garantiza un rendimiento predecible y evita ralentizaciones o bloqueos en dispositivos con poca RAM o capacidad de procesamiento.
  • Metadatos de modelo integrados: Al exportar mediante la integración compatible con Ultralytics, cada modelo incluye un archivo YAML con metadatos importantes, como el tamaño de la imagen de entrada, los nombres de las clases y los parámetros de configuración. Este archivo adicional simplifica la integración del modelo en distintas aplicaciones y garantiza un comportamiento coherente en diferentes plataformas de borde.

Cómo exportar modelos Ultralytics YOLO al formato ExecuTorch#

Ahora que conocemos mejor lo que ofrece ExecuTorch, veamos cómo exportar modelos Ultralytics YOLO al formato ExecuTorch.

Paso 1: Instala el paquete de Python Ultralytics#

Para empezar, tendrás que instalar el paquete Python de Ultralytics con pip, un instalador de paquetes. Para hacerlo, ejecuta «pip install ultralytics» en el terminal o en el símbolo del sistema.

Si trabajas en un entorno de Jupyter Notebook o Google Colab, basta con añadir un signo de exclamación delante del comando, así: "!pip install ultralytics". Una vez instalado, el paquete Ultralytics te proporciona todas las herramientas necesarias para entrenar, probar y exportar modelos de visión artificial, incluido Ultralytics YOLO11.

Si tienes algún problema durante la instalación o al exportar tu modelo, la documentación oficial de Ultralytics y la guía de problemas comunes incluyen instrucciones detalladas para solucionarlos y buenas prácticas que te ayudarán a empezar sin contratiempos.

Paso 2: Exportar Ultralytics YOLO11#

Después de instalar el paquete Ultralytics, puedes cargar una variante del modelo YOLO11 y exportarla al formato ExecuTorch. Por ejemplo, puedes usar un modelo preentrenado como «yolo11n.pt» y exportarlo llamando a la función de exportación con el formato establecido en «executorch».

Esto crea un directorio llamado «yolo11n_executorch_model», que incluye el archivo del modelo optimizado (.pte) y un archivo YAML de metadatos independiente con detalles importantes, como el tamaño de la imagen y los nombres de las clases.

Este es el código para exportar tu modelo:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="executorch")

Paso 3: Ejecutar inferencias después de exportar el modelo#

Una vez exportado, el modelo está listo para desplegarse en dispositivos de borde y móviles mediante el entorno de ejecución ExecuTorch. Puedes cargar el archivo del modelo exportado .pte en tu aplicación para realizar inferencias en tiempo real y en el propio dispositivo, sin necesidad de conexión a la nube.

Por ejemplo, el fragmento de código siguiente muestra cómo cargar el modelo exportado y ejecutar una inferencia. Inferir simplemente significa utilizar un modelo entrenado para hacer predicciones sobre datos nuevos. En este caso, el modelo se prueba con una imagen de un autobús obtenida de una URL pública.

executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)

Al ejecutar el código, encontrarás la imagen de salida con los objetos detectados guardada en la carpeta «runs/detect/predict».

Detección de objetos con un modelo Ultralytics YOLO11 exportado al formato ExecuTorch

Fig. 2. Detección de objetos con un modelo Ultralytics YOLO11 exportado al formato ExecuTorch.

Ventajas de usar la integración de ExecuTorch#

Al explorar las distintas opciones de exportación compatibles con Ultralytics, quizá te preguntes qué hace única a la integración de ExecuTorch. La diferencia clave está en cómo combina rendimiento, sencillez y flexibilidad, lo que facilita el despliegue de potentes modelos de IA directamente en dispositivos móviles y de borde.

Estas son algunas de las principales ventajas de usar la integración de ExecuTorch:

  • Opciones de despliegue flexibles: Los modelos ExecuTorch pueden desplegarse en aplicaciones móviles, sistemas integrados, dispositivos de IoT (Internet de las cosas) y hardware especializado de IA en el borde. Esta flexibilidad permite a los desarrolladores crear soluciones de IA escalables que ofrecen un rendimiento uniforme en distintas plataformas y entornos.
  • Rendimiento demostrado en pruebas comparativas: Las pruebas en dispositivos como Raspberry Pi 5 muestran que los modelos Ultralytics YOLO11 exportados al formato ExecuTorch se ejecutan aproximadamente el doble de rápido que sus equivalentes en PyTorch, con una precisión prácticamente idéntica.
  • API de integración flexibles: ExecuTorch ofrece API de C++, Kotlin y Objective-C para iOS, Android y Linux integrado, lo que permite a los desarrolladores integrar modelos YOLO directamente en aplicaciones nativas.
  • Compatibilidad con la aceleración por hardware: ExecuTorch admite varios backends de aceleración por hardware, incluidos Vulkan y Metal para GPU móviles, con integración opcional para OpenCL y otras API específicas de cada proveedor. También puede aprovechar aceleradores dedicados, como NPU y DSP, para lograr mejoras de velocidad considerables frente a las inferencias que usan solo la CPU.

Aplicaciones reales de Ultralytics YOLO11 y la exportación a ExecuTorch#

Recientemente, Ultralytics recibió el reconocimiento de caso de éxito de PyTorch ExecuTorch, que destaca nuestro apoyo temprano a la inferencia en el dispositivo y nuestras contribuciones constantes al ecosistema PyTorch. Este reconocimiento refleja el objetivo común de hacer que la IA de alto rendimiento sea más accesible en plataformas móviles y de borde.

De la nube al borde: cómo ExecuTorch y Ultralytics YOLO11 dan vida a la IA de visión#

En la práctica, esto se traduce en soluciones de IA de visión reales que se ejecutan de forma eficiente en todo tipo de dispositivos, desde smartphones hasta sistemas integrados. Por ejemplo, en la fabricación, los dispositivos de borde desempeñan un papel fundamental en la supervisión de las líneas de producción y la detección de defectos en tiempo real.

Uso de Ultralytics YOLO11 para analizar una línea de montaje de una fábrica

Fig. 3. Ejemplo de uso de Ultralytics YOLO11 para analizar una línea de montaje de una fábrica. (Fuente)

En lugar de enviar imágenes o datos de sensores a la nube para procesarlos, lo que puede causar retrasos y depender de la conexión a Internet, la integración de ExecuTorch permite ejecutar los modelos Ultralytics YOLO11 directamente en el hardware local. Así, las fábricas pueden detectar problemas de calidad al instante, reducir los tiempos de inactividad y mantener la privacidad de los datos, incluso con recursos de computación limitados.

Estos son otros ejemplos de cómo pueden aplicarse la integración de ExecuTorch y los modelos Ultralytics YOLO:

  • Ciudades inteligentes: Al ejecutar localmente modelos Ultralytics YOLO11 con ExecuTorch, las ciudades pueden tomar decisiones más rápidas basadas en datos, desde detectar atascos hasta identificar peligros, y mejorar la movilidad y la seguridad en general.
  • Comercio minorista y almacenamiento: Gracias a la inferencia en el dispositivo, los comercios pueden automatizar la supervisión de estanterías, controlar el inventario e inspeccionar paquetes de forma rápida y segura, sin depender de conexiones a la nube.
  • Robótica y drones: Los modelos Ultralytics YOLO11 optimizados para el borde permiten que robots y drones reconozcan objetos, naveguen por distintos entornos y tomen decisiones en tiempo real, incluso sin acceso a Internet.

Detección y recuento de coches en el tráfico con Ultralytics YOLO11

Fig. 4. Detección y recuento de coches en el tráfico con YOLO11 (Fuente)

Conclusiones clave#

Exportar modelos Ultralytics YOLO al formato ExecuTorch facilita el despliegue de modelos de visión artificial en numerosos dispositivos, incluidos smartphones, tabletas y sistemas integrados como Raspberry Pi. Esto permite realizar inferencias optimizadas en el propio dispositivo sin depender de la conexión a la nube, lo que mejora la velocidad, la privacidad y la fiabilidad.

Además de ExecuTorch, Ultralytics admite una amplia variedad de integraciones, como TensorRT, OpenVINO, CoreML y otras, lo que ofrece a los desarrolladores la flexibilidad necesaria para ejecutar sus modelos en distintas plataformas. A medida que crece la adopción de la IA visual, estas integraciones simplifican la implementación de sistemas inteligentes diseñados para funcionar de forma eficiente en condiciones reales.

¿Te interesa la IA? Echa un vistazo a nuestro repositorio de GitHub, únete a nuestra comunidad y consulta nuestras opciones de licencia para poner en marcha tu proyecto de IA de visión. Descubre más innovaciones, como la IA en el comercio minorista y la visión artificial en la logística, en nuestras páginas de soluciones.

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático