ExecuTorch 는 웨어러블, 임베디드 장치, 마이크로 컨트롤러를 포함한 모바일 및 에지 장치 전반에 걸쳐 온디바이스 추론 기능을 지원하는 엔드투엔드 솔루션입니다. 이는 PyTorch Edge 생태계의 일부이며 PyTorch 모델을 엣지 장치에 효율적으로 배포할 수 있게 해줍니다.
ExecuTorch의 주요 가치 제안은 다음과 같습니다.
ExecuTorch의 포괄적인 기술 개요와 단계별 튜토리얼을 보려면 최신 릴리스(또는 주요 지점)에 대한 설명서 웹사이트를 방문하세요.
빠르게 살펴보려면 시작하기 페이지를 확인하세요.
ExecuTorch를 사용하여 엣지 디바이스에서 실행되는 Llama, Llava 및 기타 모델의 예를 확인하세요.
[업데이트 - 10/24] ExecuTorch를 통해 Llama 3.2 Quantized 1B/3B 모델 실행에 대한 지원을 추가했습니다.
기술 개선에 도움이 되는 커뮤니티의 피드백, 제안, 버그 신고를 환영합니다. ExecuTorch 카테고리를 사용하여 ExecuTorch에 대한 토론과 피드백을 원하시면 PyTorch 포럼을 이용하시고, 버그 보고를 위해서는 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는 LICENSE 파일에 있는 BSD 라이센스입니다.