Rate this Page

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?#

🟢 New to ExecuTorch

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.

Beginner Pathway
🟡 I know the basics

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.

Quick Start Pathway
🔴 Experienced / Production

Advanced

You are building production systems, integrating custom backends, optimizing for constrained hardware, or working with LLMs on edge devices.

Advanced Pathway

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.


Step 3: What is your role?#

Different roles have different entry points into ExecuTorch. Select the one that best matches your background.

🤖 ML Engineer

You work primarily in Python, train models with PyTorch, and want to deploy them efficiently to edge devices.

Start here:

📱 Mobile Developer

You build Android or iOS applications and need to integrate an on-device ML model into your app.

Start here:

⚙️ Backend / Systems Developer

You are implementing a hardware backend, writing C++ runtime integrations, or contributing to ExecuTorch internals.

Start here:

🔌 Embedded Developer

You target microcontrollers, DSPs, or other resource-constrained hardware where memory and compute are tightly limited.

Start here:


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 Routing#

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 HuggingFace ExecuTorch Community <https://huggingface.co/executorch-community>_.

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 .pte file available

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.