ExecuTorch é uma solução ponta a ponta para habilitar recursos de inferência no dispositivo em dispositivos móveis e de borda, incluindo wearables, dispositivos incorporados e microcontroladores. Faz parte do ecossistema PyTorch Edge e permite a implantação eficiente de modelos PyTorch em dispositivos de ponta.
As principais propostas de valor do ExecuTorch são:
Para obter uma visão geral técnica abrangente do ExecuTorch e tutoriais passo a passo, visite nosso site de documentação da versão mais recente (ou da ramificação principal).
Confira a página de primeiros passos para uma rápida olhada.
Confira os exemplos de Llama, Llava e outros modelos rodando em dispositivos de ponta usando ExecuTorch.
[ATUALIZAÇÃO - 24/10] Adicionamos suporte para execução de modelos Llama 3.2 Quantized 1B/3B via ExecuTorch.
Agradecemos quaisquer comentários, sugestões e relatórios de bugs da comunidade para nos ajudar a melhorar nossa tecnologia. Use os Fóruns PyTorch para discussão e feedback sobre o ExecuTorch usando a categoria ExecuTorch e nosso repositório GitHub para relatórios de bugs.
Recomendamos usar a tag de lançamento mais recente da página Releases durante o desenvolvimento.
Consulte CONTRIBUTING.md para obter detalhes sobre problemas, PRs, estilo de código, trabalhos de CI e outros tópicos de desenvolvimento.
Para se conectar conosco e com outros membros da comunidade, convidamos você a ingressar na comunidade PyTorch Slack preenchendo este formulário. Depois de aderir, você pode:
#executorch-general
para perguntas gerais, discussões e suporte da comunidade.#executorch-contributors
se estiver interessado em contribuir diretamente para o desenvolvimento do projeto. 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 é licenciado BSD, conforme encontrado no arquivo LICENSE.