ExecuTorch ist eine End-to-End-Lösung zur Ermöglichung von geräteinternen Inferenzfunktionen auf Mobil- und Edge-Geräten, einschließlich Wearables, eingebetteten Geräten und Mikrocontrollern. Es ist Teil des PyTorch Edge-Ökosystems und ermöglicht die effiziente Bereitstellung von PyTorch-Modellen auf Edge-Geräten.
Die wichtigsten Wertversprechen von ExecuTorch sind:
Für einen umfassenden technischen Überblick über ExecuTorch und Schritt-für-Schritt-Anleitungen besuchen Sie bitte unsere Dokumentationswebsite für die neueste Version (oder den Hauptzweig).
Werfen Sie einen kurzen Blick auf die Seite „Erste Schritte“.
Schauen Sie sich die Beispiele von Llama, Llava und anderen Modellen an, die mit ExecuTorch auf Edge-Geräten laufen.
[UPDATE – 24.10.] Wir haben Unterstützung für die Ausführung von Llama 3.2 Quantized 1B/3B-Modellen über ExecuTorch hinzugefügt.
Wir freuen uns über jedes Feedback, Vorschläge und Fehlerberichte aus der Community, die uns bei der Verbesserung unserer Technologie helfen. Bitte nutzen Sie die PyTorch-Foren für Diskussionen und Feedback zu ExecuTorch unter Verwendung der ExecuTorch- Kategorie und unser GitHub-Repository für Fehlerberichte.
Wir empfehlen, bei der Entwicklung das neueste Release-Tag von der Seite „Releases“ zu verwenden.
Einzelheiten zu Problemen, PRs, Codestil, CI-Jobs und anderen Entwicklungsthemen finden Sie unter CONTRIBUTING.md.
Um mit uns und anderen Community-Mitgliedern in Kontakt zu treten, laden wir Sie ein, der PyTorch Slack-Community beizutreten, indem Sie dieses Formular ausfüllen. Sobald Sie beigetreten sind, können Sie:
#executorch-general
für allgemeine Fragen, Diskussionen und Community-Unterstützung.#executorch-contributors
bei, wenn Sie daran interessiert sind, direkt zur Projektentwicklung beizutragen. 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 ist BSD-lizenziert, wie in der LICENSE-Datei zu finden ist.