執行者
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 文件所示。