Find Your Path in ExecuTorch#
ExecuTorch serves a wide range of users — from ML engineers taking their first steps in on-device inference, to embedded systems developers targeting bare-metal microcontrollers, to researchers pushing the boundaries of LLM deployment. This page helps you navigate directly to the content most relevant to your experience level, goals, and target platform.
Step 1: What best describes your experience?#
Beginner
You are familiar with PyTorch but have not yet deployed a model to an edge device. You want a clear, guided path from installation to your first on-device inference.
Quick Start
You have some experience with model export or mobile ML, and want to get a model running as fast as possible without reading through every concept first.
Advanced
You are building production systems, integrating custom backends, optimizing for constrained hardware, or working with LLMs on edge devices.
Step 2: What is your primary goal?#
Use the decision matrix below to jump directly to the most relevant section based on your goal and target platform.
Goal |
Android |
iOS / macOS |
Desktop / Server |
Embedded / MCU |
|---|---|---|---|---|
Run a pre-exported model quickly |
||||
Export my own PyTorch model |
||||
Deploy an LLM (Llama, Phi, etc.) |
— |
|||
Use hardware acceleration (NPU/GPU) |
||||
Integrate a custom backend delegate |
||||
Profile and debug my model |
||||
Build from source |
Step 3: What is your role?#
Different roles have different entry points into ExecuTorch. Select the one that best matches your background.
You work primarily in Python, train models with PyTorch, and want to deploy them efficiently to edge devices.
Start here:
Getting Started with ExecuTorch — Installation and first export
Model Export and Lowering — Model export and lowering
Backends — Choose the right backend
Quantization — Reduce model size and latency
You build Android or iOS applications and need to integrate an on-device ML model into your app.
Start here:
Android — Android integration guide
iOS — iOS integration guide
Getting Started with ExecuTorch — Export a model for your platform
Using ExecuTorch on Android — Full Android API reference
You are implementing a hardware backend, writing C++ runtime integrations, or contributing to ExecuTorch internals.
Start here:
Backend Development — Backend delegate development
Integrating a Backend Delegate into ExecuTorch — Integrating a backend
Detailed C++ Runtime APIs Tutorial — C++ runtime APIs
New Contributor Guide — Contributing to ExecuTorch
You target microcontrollers, DSPs, or other resource-constrained hardware where memory and compute are tightly limited.
Start here:
Embedded Systems — Embedded platforms overview
Backends — Available embedded backends
Portable C++ Programming — Portable C++ for constrained devices
Pico2: A simple MNIST Tutorial — MNIST on Raspberry Pi Pico2
Step 4: What is your model’s status?#
The right workflow depends on whether you are starting from scratch, using a supported model, or working with a custom architecture.
Model Status |
Recommended Path |
|---|---|
Using a supported LLM (Llama, Phi, Qwen, SmolLM) |
Use the Exporting LLMs script for a streamlined export with quantization and optimization built in. Pre-exported models are also available on |
Using a HuggingFace model |
Use Exporting LLMs with HuggingFace’s Optimum ExecuTorch (Optimum ExecuTorch) for broad HuggingFace model support with familiar APIs. |
Using a custom PyTorch model |
Follow Getting Started with ExecuTorch for the standard export flow, then consult Model Export and Lowering for advanced lowering options. |
Model requires dynamic shapes |
See the dynamic shapes section in Model Export and Lowering and the Exporting to ExecuTorch for constraints. |
Model uses unsupported operators |
Consult Kernel Registration to register custom kernels, or Custom Compiler Passes and Partitioners for graph-level transformations. |
Pre-exported |
Skip export entirely and go directly to Getting Started with ExecuTorch (Running on Device section) or your platform guide. |
Not sure where to start?#
If you are completely new to ExecuTorch, the recommended entry point is the Getting Started with ExecuTorch guide, which walks through installation, exporting a MobileNet V2 model, and running inference in under 15 minutes.
For a high-level conceptual overview before diving into code, read ExecuTorch Overview and How ExecuTorch Works.