ExecuTorch は、ウェアラブル、組み込みデバイス、マイクロコントローラーなどのモバイルおよびエッジ デバイス全体でオンデバイス推論機能を有効にするためのエンドツーエンド ソリューションです。これは PyTorch Edge エコシステムの一部であり、PyTorch モデルをエッジ デバイスに効率的に展開できるようになります。
ExecuTorch の主な価値提案は次のとおりです。
ExecuTorch の包括的な技術概要とステップバイステップのチュートリアルについては、最新リリース (またはメイン ブランチ) のドキュメント Web サイトにアクセスしてください。
「はじめに」ページで簡単に確認してください。
ExecuTorch を使用してエッジ デバイス上で実行される Llama、Llava、およびその他のモデルの例を確認してください。
[更新 - 10/24] ExecuTorch 経由で Llama 3.2 量子化 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.
LICENSE ファイルにあるように、ExecuTorch は BSD ライセンスを取得しています。