Application | This example program uses the NuMaker-X-M55M1D evaluation board to implement an image classification and inference application based on the ExecuTorch. |
BSP Version | M55M1 Series BSP CMSIS V3.01.003
ExecuTorch v1.0.1 |
Hardware | NuMaker-X-M55M1D |
ExecuTorch is a lightweight PyTorch inference execution framework developed by Meta®. It is specifically designed for edge devices (Edge/Embedded/Mobile). Its goal is to enable PyTorch trained models to be deployed efficiently, securely, and controllably to resource constrained devices. Its design objectives are:
- Deplorability
- Not dependent on Python
- C++ Runtime
- Able to be executed on Linux/Android/RTOS/MCU
- Cuttable
- Compiles the actual operators (operators/kernels) used
- Suitable for SRAM/Flash-constrained systems
- Controllability
- Static graph
- Removes the dynamic behavior (control flow / guards) from the original model diagram
- Scalability
- Backend / Delegate Mechanism
- Supports NPU / DSP
The NuMicro® M55M1 series microcontroller (MCU) features Arm® Cortex®-M55 processors running up to 220 MHz. In addition to the Cortex-M55 core, the MCU integrates an Arm Ethos™-U55 Neural Processing Unit (NPU) as an auxiliary processor to accelerate neural network operations. Additionally, it features a HyperBus interface, facilitating the expansion of RAM requirements during model computation.
ExecuTorch supports the Arm Ethos-U delegation mechanism, making it suitable for deploying neural network models on the M55M1 using the ExecuTorch framework, and accelerating neural network operation through NPU computation during inference.
You can download the sample code at EC_M55M1_ExecuTorch_ImgClass_V1.00.