Skip to content

Latest commit

 

History

History
207 lines (157 loc) · 6.66 KB

File metadata and controls

207 lines (157 loc) · 6.66 KB

(user-pathways)=

Find Your Path

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?

::::{grid} 3 :gutter: 3

:::{grid-item-card} 🟢 New to ExecuTorch :class-header: bg-success text-white :link: pathway-beginner :link-type: doc

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 :::

:::{grid-item-card} 🟡 I know the basics :class-header: bg-warning text-dark :link: pathway-quickstart :link-type: doc

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 :::

:::{grid-item-card} 🔴 Experienced / Production :class-header: bg-danger text-white :link: pathway-advanced :link-type: doc

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.

:header-rows: 1
:widths: 25 20 20 20 15

* - **Goal**
  - **Android**
  - **iOS / macOS**
  - **Desktop / Server**
  - **Embedded / MCU**
* - Run a pre-exported model quickly
  - {doc}`android-section`
  - {doc}`ios-section`
  - {doc}`getting-started`
  - {doc}`embedded-section`
* - Export my own PyTorch model
  - {doc}`using-executorch-export`
  - {doc}`using-executorch-export`
  - {doc}`getting-started`
  - {doc}`using-executorch-export`
* - Deploy an LLM (Llama, Phi, etc.)
  - {doc}`llm/llama`
  - {doc}`llm/run-on-ios`
  - {doc}`llm/working-with-llms`
  - —
* - Use hardware acceleration (NPU/GPU)
  - {doc}`android-qualcomm`
  - {doc}`ios-coreml`
  - {doc}`desktop-backends`
  - {doc}`embedded-backends`
* - Integrate a custom backend delegate
  - {doc}`backend-development`
  - {doc}`backend-development`
  - {doc}`backend-development`
  - {doc}`backend-development`
* - Profile and debug my model
  - {doc}`devtools-tutorial`
  - {doc}`devtools-tutorial`
  - {doc}`devtools-tutorial`
  - {doc}`devtools-tutorial`
* - Build from source
  - {doc}`using-executorch-building-from-source`
  - {doc}`using-executorch-building-from-source`
  - {doc}`using-executorch-building-from-source`
  - {doc}`using-executorch-building-from-source`

Step 3: What is your role?

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

::::{grid} 2 :gutter: 3

:::{grid-item-card} 🤖 ML Engineer :class-header: bg-primary text-white

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

Start here:

  • {doc}getting-started — Installation and first export
  • {doc}using-executorch-export — Model export and lowering
  • {doc}backends-overview — Choose the right backend
  • {doc}quantization — Reduce model size and latency :::

:::{grid-item-card} 📱 Mobile Developer :class-header: bg-primary text-white

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

Start here:

  • {doc}android-section — Android integration guide
  • {doc}ios-section — iOS integration guide
  • {doc}getting-started — Export a model for your platform
  • {doc}using-executorch-android — Full Android API reference :::

:::{grid-item-card} ⚙️ Backend / Systems Developer :class-header: bg-primary text-white

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

Start here:

  • {doc}backend-development — Backend delegate development
  • {doc}backend-delegates-integration — Integrating a backend
  • {doc}running-a-model-cpp-tutorial — C++ runtime APIs
  • {doc}new-contributor-guide — Contributing to ExecuTorch :::

:::{grid-item-card} 🔌 Embedded Developer :class-header: bg-primary text-white

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

Start here:

  • {doc}embedded-section — Embedded platforms overview
  • {doc}embedded-backends — Available embedded backends
  • {doc}portable-cpp-programming — Portable C++ for constrained devices
  • {doc}pico2_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.

:header-rows: 1
:widths: 30 70

* - **Model Status**
  - **Recommended Path**
* - Using a supported LLM (Llama, Phi, Qwen, SmolLM)
  - Use the {doc}`llm/export-llm` 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 {doc}`llm/export-llm-optimum` (Optimum ExecuTorch) for broad HuggingFace model support with familiar APIs.
* - Using a custom PyTorch model
  - Follow {doc}`getting-started` for the standard export flow, then consult {doc}`using-executorch-export` for advanced lowering options.
* - Model requires dynamic shapes
  - See the dynamic shapes section in {doc}`using-executorch-export` and the {doc}`export-overview` for constraints.
* - Model uses unsupported operators
  - Consult {doc}`kernel-library-custom-aten-kernel` to register custom kernels, or {doc}`compiler-custom-compiler-passes` for graph-level transformations.
* - Pre-exported `.pte` file available
  - Skip export entirely and go directly to {doc}`getting-started` (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 {doc}getting-started 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 {doc}intro-overview and {doc}intro-how-it-works.

:hidden:
:maxdepth: 1
:caption: User Pathways

pathway-beginner
pathway-quickstart
pathway-advanced