Repolode
pytorch

pytorch/executorch

Stack de inferencia en el dispositivo de PyTorch para ejecutar modelos exportados en teléfonos, laptops, navegadores y microcontroladores.

Estrellas
5,107
Forks
1,207
Issues abiertos
1,328
Último commit
hace 9 horas

¿Qué es?

ExecuTorch toma un modelo de PyTorch, lo captura con torch.export, lo convierte en un programa .pte específico para el hardware de destino y lo ejecuta mediante APIs de C++, Python, Swift/Objective-C, Kotlin/Java o JavaScript. Abarca desde teléfonos y laptops hasta sistemas embebidos y microcontroladores.

La aceleración por hardware se gestiona mediante la partición del grafo: las regiones compatibles se delegan a backends de CPU, GPU, NPU o DSP, como XNNPACK, Core ML, Vulkan, Qualcomm y Arm Ethos-U, mientras que el resto se procesa con kernels portables para CPU. El runtime se puede reducir mediante una compilación selectiva, de modo que solo se enlacen los operadores y delegados que necesita cada despliegue. ETDump, ETRecord y las herramientas de depuración numérica permiten hacer profiling y comprobar la precisión.

El proyecto también incluye ejemplos de LLM, voz y visión, además de un servidor local experimental compatible con OpenAI. Los modelos siguen el mismo flujo de exportación, pero cada destino requiere su propia configuración de backend y la validación de precisión y rendimiento.

Funciones clave

  • 01Exporta modelos de PyTorch mediante torch.export a programas .pte para ejecutarlos en el dispositivo.
  • 02Delega las regiones compatibles del grafo a XNNPACK, Core ML, Vulkan, Qualcomm, Arm y otros backends.
  • 03Ofrece APIs de runtime para C++, Python, Swift, Kotlin/Java y JavaScript.
  • 04Admite compilaciones selectivas para incluir solo los operadores que necesita cada despliegue.
  • 05Incluye ETDump, ETRecord y herramientas de depuración numérica para hacer profiling y comprobar la precisión.
  • 06Incluye ejemplos de LLM, reconocimiento y síntesis de voz, y visión artificial.

Casos de uso

  • Ejecutar un modelo de visión o lenguaje de PyTorch dentro de una app para Android o iOS, sin servidor.
  • Desplegar una red neuronal en un microcontrolador o DSP con hardware Arm Cortex-M o Ethos-U.
  • Distribuir un LLM o modelo de voz local en una aplicación para escritorio o laptop.
  • Comparar la precisión y la latencia de un modelo en varios backends de hardware.

Inicio rápido

  1. 1

    Instala la versión estable más reciente del paquete de Python (Python 3.11–3.15).

    pip install executorch
  2. 2

    Guarda el ejemplo Add del README como un script y ejecútalo para exportar el modelo, convertirlo a XNNPACK y ejecutarlo.

Antes de usarlo

  • Usar Core ML, Qualcomm u otros aceleradores requiere las dependencias propias de ese backend y una exportación por separado.
  • Algunas funciones son experimentales o están etiquetadas como Main/nightly, y pueden cambiar antes del lanzamiento.
  • Las compilaciones nightly requieren instalar PyTorch nightly por separado, y las wheels de CUDA solo están disponibles para Linux.
  • Las wheels de Python precompiladas solo cubren Linux x86-64, Linux AArch64, macOS arm64 y Windows x86-64; para otros sistemas se necesita compilar desde el código fuente.

Temas

Preguntas frecuentes

¿Qué es executorch?
Stack de inferencia en el dispositivo de PyTorch para ejecutar modelos exportados en teléfonos, laptops, navegadores y microcontroladores. ExecuTorch toma un modelo de PyTorch, lo captura con torch.export, lo convierte en un programa .pte específico para el hardware de destino y lo ejecuta mediante APIs de C++, Python, Swift/Objective-C, Kotlin/Java o JavaScript. Abarca desde teléfonos y laptops hasta sistemas embebidos y microcontroladores.
¿executorch es gratuito? ¿Qué licencia tiene?
executorch es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿executorch sigue mantenido?
Mantenimiento activo. El último commit de executorch fue el 20 oct 2026.
¿Para qué puedo usar executorch?
Ejecutar un modelo de visión o lenguaje de PyTorch dentro de una app para Android o iOS, sin servidor. Desplegar una red neuronal en un microcontrolador o DSP con hardware Arm Cortex-M o Ethos-U. Distribuir un LLM o modelo de voz local en una aplicación para escritorio o laptop. Comparar la precisión y la latencia de un modelo en varios backends de hardware.
¿Cómo se instala executorch?
Instala la versión estable más reciente del paquete de Python (Python 3.11–3.15).: pip install executorch Guarda el ejemplo Add del README como un script y ejecútalo para exportar el modelo, convertirlo a XNNPACK y ejecutarlo.
¿Dónde consigo executorch?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pytorch/executorch

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados