Implementa modelos Ultralytics YOLO usando la integración con ExecuTorch
Explora cómo exportar modelos Ultralytics YOLO como Ultralytics YOLO11 al formato ExecuTorch para una implementación eficiente y nativa de PyTorch en dispositivos móviles y de borde.

Ciertas aplicaciones de visión artificial, como la inspección de calidad automatizada, 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 necesitan procesar los datos directamente donde se generan, ya sea en cámaras, drones o sistemas integrados, en lugar de enviarlos a la nube.
Este enfoque, conocido como edge AI, permite a los modelos realizar inferencias directamente en el dispositivo donde se capturan los datos. Al procesar la información localmente en lugar de depender de servidores remotos, los sistemas pueden lograr una menor latencia, mayor privacidad de los datos y una fiabilidad superior, incluso en entornos con conectividad a Internet limitada o inexistente.
Por ejemplo, una cámara de fabricación que inspecciona miles de productos cada minuto, o un dron que navega por entornos complejos, no puede permitirse los retrasos que conlleva el procesamiento en la nube. Ejecutar YOLO11 directamente en el dispositivo permite una inferencia instantánea en el dispositivo.
Para facilitar y hacer más eficiente la ejecución de modelos Ultralytics YOLO en el edge, la nueva integración con ExecuTorch compatible con Ultralytics proporciona 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 edge, incluyendo teléfonos, dispositivos wearable, placas integradas y microcontroladores.
Esta integración facilita llevar un modelo Ultralytics YOLO, como YOLO11, desde el entrenamiento hasta el despliegue en dispositivos edge. Al combinar las capacidades de visión de YOLO11 con el entorno de ejecución ligero de ExecuTorch y la canalización de exportación de PyTorch, los usuarios pueden desplegar modelos que se ejecutan de forma eficiente en hardware edge mientras preservan la precisión y el rendimiento de la inferencia basada en PyTorch.
En este artículo, analizaremos más de cerca cómo funciona la integración con ExecuTorch, por qué es una opción excelente para aplicaciones de edge AI y cómo puedes empezar a desplegar modelos Ultralytics YOLO con ExecuTorch. ¡Empecemos!
Link to this section¿Qué es ExecuTorch?#
Normalmente, cuando entrenas un modelo en PyTorch, se ejecuta en servidores potentes o unidades de procesamiento gráfico (GPUs) en la nube. Sin embargo, desplegar ese mismo modelo en un dispositivo móvil o integrado, como un smartphone, un dron o un microcontrolador, requiere una solución especializada que pueda manejar una potencia de cómputo, memoria y conectividad limitadas.
Eso es exactamente lo que aporta ExecuTorch. ExecuTorch es una solución integral desarrollada como parte del ecosistema PyTorch Edge que permite una inferencia eficiente en el dispositivo a través de plataformas móviles, integradas y de edge. Extiende las capacidades de PyTorch más allá de la nube, permitiendo que los modelos de IA se ejecuten directamente en dispositivos locales.
Link to this sectionLlevando la inferencia de PyTorch al edge#
En esencia, ExecuTorch proporciona un entorno de ejecución de C++ ligero que permite que los modelos de PyTorch se ejecuten directamente en el dispositivo. ExecuTorch utiliza el formato de modelo PyTorch ExecuTorch (.pte), una exportación optimizada diseñada para una carga más rápida, un menor uso de memoria y una mayor portabilidad.
Es compatible con XNNPACK como backend predeterminado para una inferencia eficiente en la unidad central de procesamiento (CPU) y amplía la compatibilidad a una amplia gama de backends de hardware, incluyendo CoreML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO y otros.
Estos backends permiten una aceleración optimizada en dispositivos móviles, integrados y de edge especializados. ExecuTorch también se integra con la canalización de exportación de PyTorch, proporcionando soporte para funciones avanzadas como la cuantización y el manejo de formas dinámicas para mejorar el rendimiento y la adaptabilidad en diferentes entornos de despliegue.
La cuantización reduce el tamaño del modelo y aumenta la velocidad de inferencia al convertir valores de alta precisión (como los de 32 bits en punto flotante) a otros de menor precisión, mientras que el manejo de formas dinámicas se utiliza para permitir que los modelos procesen tamaños de entrada variables de manera eficiente. Ambas funciones son cruciales para ejecutar modelos de IA en dispositivos edge con recursos limitados.

Fig 1. Un vistazo a cómo funciona ExecuTorch (Fuente)
Link to this sectionUna capa unificada para hardware edge#
Más allá de su entorno de ejecución, ExecuTorch también actúa como una capa de abstracción unificada para múltiples backends de hardware. En pocas palabras, abstrae los detalles específicos del hardware y gestiona cómo interactúan los modelos con diferentes unidades de procesamiento, incluyendo CPUs, GPUs y unidades de procesamiento neuronal (NPUs).
Una vez que se exporta un modelo, ExecuTorch puede configurarse para apuntar al backend más adecuado para un dispositivo determinado. Los desarrolladores pueden desplegar modelos de forma eficiente en diversos tipos de hardware sin escribir código personalizado para cada dispositivo ni mantener flujos de trabajo de conversión independientes.
Debido a su diseño modular y portátil, y a su integración perfecta con PyTorch, ExecuTorch es una gran opción para desplegar modelos de visión artificial como Ultralytics YOLO11 en sistemas móviles e integrados. Cierra la brecha entre el entrenamiento del modelo y el despliegue en el mundo real, haciendo que la IA en el edge sea más rápida, más eficiente y más fácil de implementar.
Link to this sectionCaracterísticas clave de ExecuTorch#
Antes de ver cómo exportar modelos Ultralytics YOLO al formato de ExecuTorch, exploremos qué hace que ExecuTorch sea una opción fiable para desplegar IA en el edge.
Aquí tienes un vistazo a algunas de sus características clave:
- Soporte para cuantización: ExecuTorch admite la cuantización de modelos, una técnica que convierte valores de alta precisión en otros de menor precisión para reducir el tamaño del modelo y acelerar la inferencia. Esto ayuda a que los modelos se ejecuten más rápido y utilicen menos memoria en dispositivos edge, manteniendo casi el mismo nivel de precisión.
- 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 de memoria dinámica, que puede introducir latencia y sobrecarga energética, ExecuTorch utiliza la planificación de memoria Ahead-of-Time (AOT). Durante la exportación, analiza el grafo del modelo y precalcula cuánta memoria se necesita para cada operación. Esto permite que el tiempo de ejecución ejecute los modelos utilizando un plan de memoria estático, lo que garantiza un rendimiento predecible y evita ralentizaciones o fallos en dispositivos con RAM o capacidad de procesamiento limitadas.
- Metadatos del modelo integrados: Al exportar utilizando la integración compatible con Ultralytics, cada modelo incluye un archivo YAML que contiene 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 diversas aplicaciones y garantiza un comportamiento consistente en diferentes plataformas edge.
Link to this sectionCómo exportar modelos Ultralytics YOLO al formato de ExecuTorch#
Ahora que entendemos mejor lo que ofrece ExecuTorch, veamos cómo exportar modelos Ultralytics YOLO al formato de ExecuTorch.
Link to this sectionPaso 1: Instala el paquete de Python de Ultralytics#
Para empezar, necesitarás instalar el paquete de Python de Ultralytics mediante pip, que es un instalador de paquetes. Puedes hacerlo ejecutando “pip install ultralytics” en tu terminal o símbolo del sistema.
Si trabajas en un entorno de Jupyter Notebook o Google Colab, simplemente añade un signo de exclamación antes del comando, como "!pip install ultralytics". Una vez instalado, el paquete de Ultralytics 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 mientras exportas tu modelo, la documentación oficial de Ultralytics y la guía de problemas comunes tienen pasos detallados para la resolución de problemas y mejores prácticas que te ayudarán a empezar sin complicaciones.
Link to this sectionPaso 2: Exportación de Ultralytics YOLO11#
Tras instalar el paquete de Ultralytics, puedes cargar una variante del modelo YOLO11 y exportarlo al formato de ExecuTorch. Por ejemplo, puedes utilizar un modelo preentrenado como “yolo11n.pt” y exportarlo llamando a la función de exportación con el formato configurado como “executorch”.
Esto crea un directorio llamado “yolo11n_executorch_model”, que incluye el archivo de modelo optimizado (.pte) y un archivo de metadatos YAML independiente que contiene detalles importantes como el tamaño de la imagen y los nombres de las clases.
Aquí tienes el código para exportar tu modelo:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")Link to this sectionPaso 3: Ejecutar inferencias tras exportar el modelo#
Una vez exportado, el modelo está listo para ser desplegado en dispositivos edge y móviles utilizando el entorno de ejecución de ExecuTorch. El archivo de modelo .pte exportado se puede cargar en tu aplicación para ejecutar una inferencia en tiempo real en el dispositivo sin necesidad de una conexión a la nube.
Por ejemplo, el fragmento de código a continuación muestra cómo cargar el modelo exportado y ejecutar la inferencia. La inferencia simplemente significa utilizar un modelo entrenado para hacer predicciones sobre datos nuevos. Aquí, el modelo se prueba en 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)Después de ejecutar el código, encontrarás la imagen de salida con los objetos detectados guardada en la carpeta “runs/detect/predict”.

Fig 2. Detección de objetos utilizando un modelo YOLO11 exportado en formato ExecuTorch.
Link to this sectionVentajas de usar la integración con ExecuTorch#
Mientras exploras las diferentes opciones de exportación compatibles con Ultralytics, es posible que te preguntes qué hace única a la integración con ExecuTorch. La diferencia clave es lo bien que combina rendimiento, simplicidad y flexibilidad, facilitando el despliegue de potentes modelos de IA directamente en dispositivos móviles y de edge.
Aquí tienes un vistazo a algunas de las ventajas clave de usar la integración con ExecuTorch:
- Opciones de despliegue flexibles: Los modelos de ExecuTorch pueden desplegarse en aplicaciones móviles, sistemas integrados, dispositivos IoT (Internet de las cosas) y hardware de IA de edge especializado. Esta flexibilidad permite a los desarrolladores construir soluciones de IA escalables que funcionan de forma consistente en diversas plataformas y entornos.
- Rendimiento probado mediante benchmarks: Las pruebas en dispositivos como la Raspberry Pi 5 muestran que los modelos YOLO11 exportados al formato de ExecuTorch se ejecutan aproximadamente 2 veces más rápido que sus homólogos en PyTorch, con una precisión casi idéntica.
- APIs de integración flexibles: ExecuTorch proporciona APIs en C++, Kotlin y Objective-C para iOS, Android y Linux integrado, lo que permite a los desarrolladores integrar modelos YOLO directamente en aplicaciones nativas.
- Soporte de aceleración de hardware: ExecuTorch admite múltiples backends de aceleración de hardware, incluyendo Vulkan y Metal para GPUs móviles, con integración opcional para OpenCL y otras APIs específicas de proveedores. También puede aprovechar aceleradores dedicados como NPUs y DSPs para lograr mejoras sustanciales en la velocidad frente a la inferencia exclusiva en CPU.
Link to this sectionAplicaciones en el mundo real de YOLO11 y la exportación a ExecuTorch#
Recientemente, Ultralytics fue reconocida como un caso de éxito de PyTorch ExecuTorch, destacando nuestro soporte temprano para la inferencia en el dispositivo y nuestras continuas contribuciones al ecosistema de PyTorch. Este reconocimiento refleja un objetivo compartido de hacer que la IA de alto rendimiento sea más accesible en plataformas móviles y de edge.
Link to this sectionDe la nube al edge: Cómo ExecuTorch y YOLO11 dan vida a la IA visual#
En la práctica, esto se traduce en soluciones de IA visual en el mundo real que funcionan de forma eficiente en todo tipo de equipos, desde smartphones hasta sistemas integrados. Por ejemplo, en la fabricación, los dispositivos edge desempeñan un papel crucial en la supervisión de las líneas de producción y la detección de defectos en tiempo real.

Fig 3. Un ejemplo de uso de YOLO11 para analizar una línea de ensamblaje de fabricación. (Fuente)
En lugar de enviar imágenes o datos de sensores a la nube para su procesamiento, lo que puede introducir retrasos y depender de la conectividad a Internet, la integración con ExecuTorch permite que los modelos YOLO11 se ejecuten directamente en hardware local. Esto significa que las fábricas pueden detectar problemas de calidad al instante, reducir el tiempo de inactividad y mantener la privacidad de los datos, todo ello operando con recursos de cómputo limitados.
Aquí tienes algunos otros ejemplos de cómo se pueden aplicar la integración con ExecuTorch y los modelos Ultralytics YOLO:
- Ciudades inteligentes: Al ejecutar modelos YOLO11 localmente con ExecuTorch, las ciudades pueden tomar decisiones más rápidas basadas en datos, desde detectar atascos de tráfico hasta identificar peligros, mejorando la movilidad y la seguridad general.
- Venta minorista y almacenamiento: Con la inferencia en el dispositivo, los minoristas pueden automatizar el control de estantes, realizar el seguimiento del inventario e inspeccionar paquetes de forma rápida y segura sin depender de conexiones a la nube.
- Robótica y drones: Los modelos YOLO11 optimizados para edge permiten a los robots y drones reconocer objetos, navegar por entornos y tomar decisiones en tiempo real incluso sin acceso a Internet.

Fig 4. Detección y conteo de coches en el tráfico utilizando YOLO11 (Fuente)
Link to this sectionConclusiones clave#
Exportar modelos Ultralytics YOLO al formato de ExecuTorch facilita el despliegue de modelos de visión artificial en muchos dispositivos, incluyendo smartphones, tablets y sistemas integrados como la Raspberry Pi. Esto significa que es posible ejecutar una inferencia optimizada en el dispositivo sin depender de la conectividad en la nube, mejorando la velocidad, la privacidad y la fiabilidad.
Junto con ExecuTorch, Ultralytics admite una amplia gama de integraciones, incluyendo TensorRT, OpenVINO, CoreML y más, brindando a los desarrolladores la flexibilidad de ejecutar sus modelos en diversas plataformas. A medida que crece la adopción de la IA visual, estas integraciones simplifican el despliegue de sistemas inteligentes diseñados para funcionar de manera eficiente en condiciones del mundo real.
¿Tienes curiosidad por la IA? Echa un vistazo a nuestro repositorio en GitHub, únete a nuestra comunidad y explora nuestras opciones de licencia para poner en marcha tu proyecto de IA visual. Aprende más sobre innovaciones como la IA en el comercio minorista y la visión artificial en logística visitando nuestras páginas de soluciones.






