执行者
v0.4.0
ExecuTorch是一种端到端解决方案,用于跨移动和边缘设备(包括可穿戴设备、嵌入式设备和微控制器)实现设备上推理功能。它是 PyTorch Edge 生态系统的一部分,支持将 PyTorch 模型高效部署到边缘设备。
ExecuTorch 的主要价值主张是:
有关 ExecuTorch 的全面技术概述和分步教程,请访问我们的文档网站以获取最新版本(或主分支)。
查看入门页面以快速浏览。
查看使用 ExecuTorch 在边缘设备上运行的 Llama、Llava 和其他模型的示例。
[更新 - 10/24]我们添加了对通过 ExecuTorch 运行 Llama 3.2 量化 1B/3B 模型的支持。
我们欢迎来自社区的任何反馈、建议和错误报告,以帮助我们改进技术。请使用 PyTorch 论坛进行有关使用ExecuTorch类别的 ExecuTorch 的讨论和反馈,并使用我们的 GitHub 存储库进行错误报告。
我们建议在开发时使用发布页面中的最新版本标签。
有关问题、PR、代码风格、CI 作业和其他开发主题的详细信息,请参阅 CONTRIBUTING.md。
为了与我们和其他社区成员联系,我们邀请您填写此表格加入 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 文件中所示。