ExecuTorch es una solución de extremo a extremo para habilitar capacidades de inferencia en dispositivos móviles y de borde, incluidos dispositivos portátiles, dispositivos integrados y microcontroladores. Es parte del ecosistema PyTorch Edge y permite la implementación eficiente de modelos de PyTorch en dispositivos perimetrales.
Las propuestas de valor clave de ExecuTorch son:
Para obtener una descripción técnica completa de ExecuTorch y tutoriales paso a paso, visite nuestro sitio web de documentación para obtener la última versión (o la rama principal).
Consulte la página de introducción para echar un vistazo rápido.
Consulte los ejemplos de Llama, Llava y otros modelos que se ejecutan en dispositivos perimetrales utilizando ExecuTorch.
[ACTUALIZACIÓN - 24/10] Hemos agregado soporte para ejecutar modelos Llama 3.2 Quantized 1B/3B a través de ExecuTorch.
Agradecemos cualquier comentario, sugerencia e informe de errores de la comunidad para ayudarnos a mejorar nuestra tecnología. Utilice los foros de PyTorch para debatir y recibir comentarios sobre ExecuTorch utilizando la categoría ExecuTorch y nuestro repositorio de GitHub para informar errores.
Recomendamos utilizar la etiqueta de versión más reciente de la página Lanzamientos durante el desarrollo.
Consulte CONTRIBUTING.md para obtener detalles sobre problemas, relaciones públicas, estilo de código, trabajos de CI y otros temas de desarrollo.
Para conectarse con nosotros y otros miembros de la comunidad, lo invitamos a unirse a la comunidad PyTorch Slack completando este formulario. Una vez que te hayas unido, podrás:
#executorch-general
para preguntas generales, debates y apoyo de la comunidad.#executorch-contributors
si está interesado en contribuir directamente al desarrollo del proyecto. executorch
├── backends # Backend delegate implementations.
├── build # Utilities for managing the build system.
├── codegen # Tooling to autogenerate bindings between kernels and the runtime.
├── configurations
├── docs # Static docs tooling.
├── examples # Examples of various user flows, such as model export, delegates, and runtime execution.
├── exir # Ahead-of-time library: model capture and lowering APIs.
| ├── _serialize # Serialize final export artifact.
| ├── backend # Backend delegate ahead of time APIs
| ├── capture # Program capture.
| ├── dialects # Op sets for various dialects in the export process.
| ├── emit # Conversion from ExportedProgram to ExecuTorch execution instructions.
| ├── operator # Operator node manipulation utilities.
| ├── passes # Built-in compiler passes.
| ├── program # Export artifacts.
| ├── serde # Graph module
serialization/deserialization.
| ├── verification # IR verification.
├── extension # Extensions built on top of the runtime.
| ├── android # ExecuTorch wrappers for Android apps.
| ├── apple # ExecuTorch wrappers for iOS apps.
| ├── aten_util # Converts to and from PyTorch ATen types.
| ├── data_loader # 1st party data loader implementations.
| ├── evalue_util # Helpers for working with EValue objects.
| ├── gguf_util # Tools to convert from the GGUF format.
| ├── kernel_util # Helpers for registering kernels.
| ├── memory_allocator # 1st party memory allocator implementations.
| ├── module # A simplified C++ wrapper for the runtime.
| ├── parallel # C++ threadpool integration.
| ├── pybindings # Python API for executorch runtime.
| ├── pytree # C++ and Python flattening and unflattening lib for pytrees.
| ├── runner_util # Helpers for writing C++ PTE-execution
tools.
| ├── testing_util # Helpers for writing C++ tests.
| ├── training # Experimental libraries for on-device training
├── kernels # 1st party kernel implementations.
| ├── aten
| ├── optimized
| ├── portable # Reference implementations of ATen operators.
| ├── prim_ops # Special ops used in executorch runtime for control flow and symbolic primitives.
| ├── quantized
├── profiler # Utilities for profiling runtime execution.
├── runtime # Core C++ runtime.
| ├── backend # Backend delegate runtime APIs.
| ├── core # Core structures used across all levels of the runtime.
| ├── executor # Model loading, initialization, and execution.
| ├── kernel # Kernel registration and management.
| ├── platform # Layer between architecture specific code and portable C++.
├── schema # ExecuTorch PTE file format flatbuffer
schemas.
├── scripts # Utility scripts for size management, dependency management, etc.
├── devtools # Model profiling, debugging, and introspection.
├── shim # Compatibility layer between OSS and Internal builds
├── test # Broad scoped end-to-end tests.
├── third-party # Third-party dependencies.
├── util # Various helpers and scripts.
ExecuTorch tiene licencia BSD, como se encuentra en el archivo LICENCIA.