ExecuTorch — это комплексное решение, позволяющее реализовать возможности вывода на мобильных и периферийных устройствах, включая носимые устройства, встроенные устройства и микроконтроллеры. Он является частью экосистемы PyTorch Edge и обеспечивает эффективное развертывание моделей PyTorch на периферийных устройствах.
Ключевые преимущества ExecuTorch:
Для получения полного технического обзора ExecuTorch и пошаговых руководств посетите наш веб-сайт документации для получения последней версии (или основной ветки).
Посетите страницу «Начало работы», чтобы быстро разобраться.
Ознакомьтесь с примерами Llama, Llava и других моделей, работающих на периферийных устройствах с помощью ExecuTorch.
[ОБНОВЛЕНИЕ - 24.10] Мы добавили поддержку запуска моделей Llama 3.2 Quantized 1B/3B через ExecuTorch.
Мы приветствуем любые отзывы, предложения и сообщения об ошибках от сообщества, которые помогут нам улучшить нашу технологию. Пожалуйста, используйте форумы PyTorch для обсуждения и отзывов о ExecuTorch, используя категорию ExecuTorch , а также наш репозиторий GitHub для отчетов об ошибках.
При разработке мы рекомендуем использовать тег последней версии со страницы «Релизы».
См. CONTRIBUTING.md для получения подробной информации о проблемах, PR, стиле кода, заданиях CI и других темах разработки.
Чтобы связаться с нами и другими членами сообщества, мы приглашаем вас присоединиться к сообществу PyTorch Slack, заполнив эту форму. После того, как вы присоединились, вы сможете:
#executorch-general
чтобы задать общие вопросы, обсудить и получить поддержку сообщества.#executorch-contributors
если вы заинтересованы в непосредственном участии в разработке проекта. 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 имеет лицензию BSD, как указано в файле LICENSE.