Skip to content

Commit e50de2d

Browse files
Updates
1 parent ff943be commit e50de2d

File tree

4 files changed

+20
-22
lines changed

4 files changed

+20
-22
lines changed

content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/2-env-setup.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ weight: 3
88
layout: "learningpathall"
99
---
1010

11-
In this section, you will prepare a development environment to compile a machine learning model.
11+
In this section, you prepare a development environment to compile and run a machine learning model with ExecuTorch.
1212

1313
## Introduction to ExecuTorch
1414

@@ -18,7 +18,7 @@ ExecuTorch is a lightweight runtime designed for efficient execution of PyTorch
1818

1919
These instructions have been tested on Ubuntu 22.04, 24.04, and on Windows Subsystem for Linux (WSL).
2020

21-
Python3 is required and comes installed with Ubuntu, but some additional packages are needed:
21+
Python 3 is required and comes installed with Ubuntu, but some additional packages are needed:
2222

2323
```bash
2424
sudo apt update
@@ -36,7 +36,7 @@ source $HOME/executorch-venv/bin/activate
3636
The prompt of your terminal now has `(executorch)` as a prefix to indicate the virtual environment is active.
3737

3838

39-
## Install Executorch
39+
## Install ExecuTorch
4040

4141
From within the Python virtual environment, run the commands below to download the ExecuTorch repository and install the required packages:
4242

@@ -74,6 +74,6 @@ pip list | grep executorch
7474
executorch 1.1.0a0+1883128
7575
```
7676

77-
## Next Steps
77+
## Next steps
7878

79-
Proceed to the next section to learn about and set up the virtualized hardware.
79+
Proceed to the next section to set up the virtualized hardware.

content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/3-env-setup-fvp.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ weight: 5 # 1 is first, 2 is second, etc.
88
layout: "learningpathall"
99
---
1010

11-
In this section, you will run scripts to set up the Corstone-320 reference package.
11+
In this section, you run scripts to set up the Corstone-320 reference package.
1212

13-
The Corstone-320 Fixed Virtual Platform (FVP) is a pre-silicon software development environment for Arm-based microcontrollers. It provides a virtual representation of hardware, allowing developers to test and optimize software before actual hardware is available. Designed for AI and machine learning workloads, it includes support for Arm's Ethos-U NPU and Cortex-M processors, making it ideal for embedded AI applications. The FVP accelerates development by enabling early software validation and performance tuning in a flexible, simulation-based environment.
13+
The Corstone-320 Fixed Virtual Platform (FVP) is a pre-silicon software development environment for Arm-based microcontrollers. It provides a virtual representation of hardware so you can test and optimize software before boards are available. Designed for AI and machine learning workloads, it includes support for Arm Ethos-U NPUs and Cortex-M processors, which makes it well-suited to embedded AI applications. The FVP accelerates development by enabling early software validation and performance tuning in a flexible, simulation-based environment.
1414

1515
The Corstone reference system is provided free of charge, although you will have to accept the license in the next step. For more information on Corstone-320, check out the [official documentation](https://developer.arm.com/documentation/109761/0000?lang=en).
1616

17-
## Corstone-320 FVP Setup for ExecuTorch
17+
## Set up Corstone-320 FVP for ExecuTorch
1818

19-
Run the FVP setup script in the ExecuTorch repository.
19+
Run the FVP setup script in the ExecuTorch repository:
2020

2121
```bash
2222
cd $HOME/executorch
2323
./examples/arm/setup.sh --i-agree-to-the-contained-eula
2424
```
2525

26-
After the script has finished running, it prints a command to run to finalize the installation. This step adds the FVP executables to your system path.
26+
When the script completes, it prints a command to finalize the installation by adding the FVP executables to your `PATH`:
2727

2828
```bash
2929
source $HOME/executorch/examples/arm/ethos-u-scratch/setup_path.sh

content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/4-build-model.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class SimpleNN(torch.nn.Module):
3636
return out
3737

3838
# Create the model instance
39-
input_size = 10 # example input features size
39+
input_size = 10 # example input feature size
4040
hidden_size = 5 # hidden layer size
4141
output_size = 2 # number of output classes
4242

@@ -52,7 +52,7 @@ ModelInputs = x
5252
print("Model successfully exported to simple_nn.pte")
5353
```
5454

55-
## Running the model on the Corstone-320 FVP
55+
## Run the model on the Corstone-320 FVP
5656

5757
The final step is to take the Python-defined model and run it on the Corstone-320 FVP. This was done upon running the `run.sh` script in a previous section. To wrap up the Learning Path, you will perform these steps separately to better understand what happened under the hood. Start by setting some environment variables that are used by ExecuTorch.
5858

@@ -61,7 +61,7 @@ export ET_HOME=$HOME/executorch
6161
export executorch_DIR=$ET_HOME/build
6262
```
6363

64-
Then, generate a model file on the `.pte` format using the Arm examples. The Ahead-of-Time (AoT) Arm compiler will enable optimizations for devices like the Grove Vision AI Module V2 and the Corstone-320 FVP. Run it from the ExecuTorch root directory.
64+
Generate a model in ExecuTorch `.pte` format using the Arm examples. The AoT Arm compiler enables optimizations for devices such as the Grove Vision AI Module V2 and the Corstone-320 FVP. Run the compiler from the ExecuTorch root directory:
6565

6666
```bash
6767
cd $ET_HOME
@@ -90,7 +90,7 @@ cmake --build $ET_HOME/examples/arm/executor_runner/cmake-out --parallel -- arm_
9090

9191
```
9292

93-
Now run the model on the Corstone-320 with the following command:
93+
Run the model on Corstone-320:
9494

9595
```bash
9696
FVP_Corstone_SSE-320 \
@@ -104,9 +104,7 @@ FVP_Corstone_SSE-320 \
104104
```
105105

106106
{{% notice Note %}}
107-
108-
The argument `mps4_board.visualisation.disable-visualisation=1` disables the FVP GUI. This can speed up launch time for the FVP.
109-
107+
The argument `mps4_board.visualisation.disable-visualisation=1` disables the FVP GUI and can speed up launch time
110108
{{% /notice %}}
111109

112110
Observe that the FVP loads the model file.
@@ -119,4 +117,4 @@ I [executorch:arm_executor_runner.cpp:412] Model in 0x70000000 $
119117
I [executorch:arm_executor_runner.cpp:414] Model PTE file loaded. Size: 3360 bytes.
120118
```
121119

122-
You have now set up your environment for TinyML development on Arm, and tested a small PyTorch and ExecuTorch Neural Network. In the next Learning Path of this series, you will learn about optimizing neural networks to run on Arm.
120+
You have now set up your environment for TinyML development on Arm and tested a small PyTorch model with ExecuTorch on the Corstone-320 FVP. In the next Learning Path, you learn how to optimize neural networks to run efficiently on Arm.

content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/_index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ minutes_to_complete: 40
66
who_is_this_for: This is an introductory topic for developers and data scientists new to Tiny Machine Learning (TinyML) who want to explore its potential using PyTorch and ExecuTorch.
77

88
learning_objectives:
9-
- Describe what differentiates TinyML from other AI domains.
10-
- Describe the benefits of deploying AI models on Arm-based edge devices.
11-
- Identify suitable Arm-based devices for TinyML applications.
12-
- Set up and configure a TinyML development environment using ExecuTorch and Corstone-320 Fixed Virtual Platform (FVP).
9+
- Describe what differentiates TinyML from other AI domains
10+
- Describe the benefits of deploying AI models on Arm-based edge devices
11+
- Identify suitable Arm-based devices for TinyML applications
12+
- Set up and configure a TinyML development environment using ExecuTorch and Corstone-320 Fixed Virtual Platform (FVP)
1313

1414
prerequisites:
1515
- Basic knowledge of Machine Learning concepts

0 commit comments

Comments
 (0)