Skip to content

Commit 57345a0

Browse files
authored
Updated Readme/Overview and cleanup (#6)
1 parent 841d20b commit 57345a0

File tree

15 files changed

+86
-63
lines changed

15 files changed

+86
-63
lines changed
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88
],
99
"requires": {
1010
"arm:tools/open-cmsis-pack/cmsis-toolbox": "^2.10.0",
11-
"arm:compilers/arm/armclang": "^6.24.0",
12-
"arm:models/arm/avh-fvp": "^11.29.27",
11+
"arm:compilers/arm/armclang": "^6.23.0",
12+
"arm:models/arm/avh-fvp": "^11.28.32",
1313
"arm:tools/kitware/cmake": "^3.31.5",
14-
"arm:tools/ninja-build/ninja": "^1.12.1",
15-
"arm:debuggers/arm/armdbg": "^6.5.0"
14+
"arm:tools/ninja-build/ninja": "^1.12.0"
1615
}
1716
}

.github/workflows/test_audio.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
name: mlek audio build and execution test
17+
name: MLEK audio build and execution test
1818
on:
1919

2020
workflow_dispatch:
@@ -120,7 +120,7 @@ jobs:
120120
- name: Install tools
121121
uses: ARM-software/cmsis-actions/vcpkg@v1
122122
with:
123-
config: "./ARM/cmsis-mlek/vcpkg-configuration.json"
123+
config: ".ci/vcpkg-configuration.json"
124124

125125
- name: Activate Arm tool license
126126
uses: ARM-software/cmsis-actions/armlm@v1

.github/workflows/test_generic.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
name: mlek generic build and execution test
17+
name: MLEK generic build and execution test
1818
on:
1919

2020
workflow_dispatch:
@@ -98,7 +98,7 @@ jobs:
9898
- name: Install tools
9999
uses: ARM-software/cmsis-actions/vcpkg@v1
100100
with:
101-
config: "vcpkg-configuration.json"
101+
config: ".ci/vcpkg-configuration.json"
102102

103103
- name: Activate Arm tool license
104104
uses: ARM-software/cmsis-actions/armlm@v1

.github/workflows/test_video.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
name: mlek video build and execution test
17+
name: MLEK video build and execution test
1818
on:
1919

2020
workflow_dispatch:
@@ -93,7 +93,7 @@ jobs:
9393
- name: Install tools
9494
uses: ARM-software/cmsis-actions/vcpkg@v1
9595
with:
96-
config: "vcpkg-configuration.json"
96+
config: ".ci/vcpkg-configuration.json"
9797

9898
- name: Activate Arm tool license
9999
uses: ARM-software/cmsis-actions/armlm@v1

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,6 @@ dkms.conf
5656
.DS_Store
5757
examples/audio/kws/.clangd
5858
template/audio/mlek_audio.cbuild-set.yml
59+
60+
# Clangd
61+
.clangd

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"clangd.arguments": [
3-
"--compile-commands-dir=/Users/chrsei01/02_Git/Arm-Examples/cmsis-mlek/template/audio/out/kws/${Name}/Debug-Live_Stream"
3+
"--compile-commands-dir=c:\\w\\cmsis-mlek\\template\\audio\\out\\kws\\${Name}\\Debug-Live_Stream"
44
]
55
}

README.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# CMSIS-MLEK Software Pack
22

3-
This repository contains **Machine Learning Evaluation Kit (MLEK)** pack which provides [CMSIS Reference Applications](https://open-cmsis-pack.github.io/cmsis-toolbox/ReferenceApplications/) and templates for Edge AI development. These applications implement data preprocessing, memory management, and neural network inference pipelines that are optimized for Cortex-M and Ethos-U platforms.
3+
This repository contains **Machine Learning Evaluation Kit (MLEK)** pack which provides [CMSIS Reference Applications](https://open-cmsis-pack.github.io/cmsis-toolbox/ReferenceApplications/) and templates for Edge AI development. These applications implement data preprocessing, memory management, and neural network inference pipelines that are optimized for Cortex-M and Ethos-U platforms. The examples are prepared to run with [Keil Studio for VS Code](https://www.keil.arm.com/).
4+
5+
The CMSIS-MLEK software pack is derived from the [Arm® ML embedded evaluation kit](https://git.gitlab.arm.com/artificial-intelligence/ethos-u/ml-embedded-evaluation-kit) and makes the examples easier to access. It also contains interfaces to physical hardware and simplifies porting to target hardware. It contains the following ML applications and uses currently Neural Network Models currently in [TensorFlow Lite](https://www.keil.arm.com/packs/tensorflow-lite-micro-tensorflow) format.
6+
7+
ML application | Description | Neural Network Model
8+
:----------------------------------------------|:------------------------|:---------------------
9+
[Keyword spotting (KWS)](./template/audio) | Recognize the presence of a key word in verbal speech | [MicroNet](https://github.com/ARM-software/ML-zoo/tree/9f506fe52b39df545f0e6c5ff9223f671bc5ae00/models/keyword_spotting/micronet_medium/tflite_int8)
10+
[Object detection](./template/video) | Detects and draws face bounding box in a given image | [Yolo Fastest](https://github.com/emza-vs/ModelZoo/blob/master/object_detection/yolo-fastest_192_face_v4.tflite)
11+
[Generic inference runner](./template/generic) | Code block allowing you to develop your own use case | Your custom model
412

513
Refer to [Overview](./overview/README.md) for more details.
614

@@ -9,14 +17,15 @@ Refer to [Overview](./overview/README.md) for more details.
917
Directory | Description
1018
----------------------------------|-------------------------------
1119
[overview](./overview) | Top-level overview of MLEK reference applications.
12-
[documentation](./documentation/) | [User documentation](https://arm-examples.github.io/cmsis-mlek/main/index.html) of the MLEK reference applications.
20+
[docs](./docs/) | Source of the [user documentation](https://arm-examples.github.io/cmsis-mlek) of the MLEK reference applications.
1321
[template](./template) | [MLEK reference applications](https://arm-examples.github.io/cmsis-mlek/main/template.html), a test framework for DSP and ML algorithms.
1422
[.github/workflows](./.github/workflows) | GitHub Actions for validation and publishing.
1523
[.ci](./.ci) | Files that relate to CI tests.
1624

1725
## Related
1826

1927
- [MLEK Pack](https://www.keil.arm.com/packs/MLEK) available on [keil.arm.com/packs](https://www.keil.arm.com/packs).
28+
- [tensorflow-lite-micro Pack](https://www.keil.arm.com/packs/tensorflow-lite-micro-tensorflow) available on [keil.arm.com/packs](https://www.keil.arm.com/packs).
2029
- [MLEK Examples](https://github.com/Arm-Examples/mlek-examples) a repository with MLEK applications that are configured for evaluation boards and use cases.
2130
- [ML Developers Guide for Cortex-M Processors and Ethos-U NPU](https://developer.arm.com/documentation/109267).
2231
- [Arm Virtual Hardware - FVP](https://github.com/arm-software/avh) repository with documentation.
@@ -27,11 +36,7 @@ The MLEK references applications are licensed under [![License](https://img.shie
2736

2837
## Documentation
2938

30-
The [documentation](https://arm-examples.github.io/cmsis-mlek/index.html) is generated using [MKDocs](https://www.mkdocs.org/) with the following additional plugins:
31-
32-
- [mermaid2](https://mkdocs-mermaid2.readthedocs.io/en/latest/) for sequence diagrams.
33-
34-
Use `mkdocs serve` to generate the documentation on a local computer.
39+
The [documentation](https://arm-examples.github.io/cmsis-mlek/index.html) is generated using [MKDocs](https://www.mkdocs.org/). Use `mkdocs serve` to generate the documentation on a local computer.
3540

3641
## Contributions and Pull Requests
3742

docs/overview.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,15 @@ Key Features:
1010
- **Performance Validation**: Test and optimize ML performance on target hardware or simulation.
1111
- **Hardware Evaluation**: Compare performance across different Corstone platforms and configurations.
1212

13-
MLEK covers three main application domains:
13+
The CMSIS-MLEK software pack is derived from the [Arm® ML embedded evaluation kit](https://git.gitlab.arm.com/artificial-intelligence/ethos-u/ml-embedded-evaluation-kit) and makes the examples easier to access. It also contains interfaces to physical hardware and simplifies porting to target hardware. It contains the following ML applications and uses currently Neural Network Models currently in [TensorFlow Lite](https://www.keil.arm.com/packs/tensorflow-lite-micro-tensorflow) format.
1414

15-
- [Audio](https://arm-examples.github.io/cmsis-mlek/templates_audio.html) processing with audio classification and keyword spotting.
16-
- [Video](https://arm-examples.github.io/cmsis-mlek/templates_video.html) processing with image classification and object detection.
17-
- [Generic](https://arm-examples.github.io/cmsis-mlek) inference for flexible ML model deployment.
15+
| ML application | Description | Neural Network Model |
16+
|:-----------------------------------------------|:------------------------|:----------------------|
17+
| [Keyword spotting (KWS)](https://github.com/ARM-software/cmsis-mlek/template/audio) | Recognize the presence of a key word in verbal speech | [MicroNet](https://github.com/ARM-software/ML-zoo/tree/9f506fe52b39df545f0e6c5ff9223f671bc5ae00/models/keyword_spotting/micronet_medium/tflite_int8) |
18+
| [Object detection](https://github.com/ARM-software/cmsis-mlek/template/video) | Detects and draws face bounding box in a given image | [Yolo Fastest](https://github.com/emza-vs/ModelZoo/blob/master/object_detection/yolo-fastest_192_face_v4.tflite) |
19+
| [Generic inference runner](https://github.com/ARM-software/cmsis-mlek/template/generic) | Code block allowing you to develop your own use case | Your custom model |
1820

19-
20-
Each reference applications is a *csolution project* which supports deployment to physical hardware or Arm Virtual Hardware (AVH-FVP) for simulation.
21+
Each [ML reference application](https://open-cmsis-pack.github.io/cmsis-toolbox/ReferenceApplications/) is a *csolution project* which supports deployment to physical hardware or Arm Virtual Hardware (AVH-FVP) for simulation.
2122

2223
![MLEK Reference Application Architecture](./images/MLEK-Architecture.png)
2324

@@ -27,24 +28,26 @@ A board layer (`*.clayer.yml`) implements the drivers for the physical interface
2728
|:----------------------------|:----------------|
2829
| **Audio Processing** | |
2930
| CMSIS_VSTREAM_AUDIO_IN | [CMSIS-Driver vStream](https://arm-software.github.io/CMSIS_6/latest/Driver/group__mci__interface__gr.html) configured for Audio input. |
31+
| STDOUT | Standard I/O for printf output. |
3032
| **Video Processing** | |
3133
| CMSIS_VSTREAM_VIDEO_IN | [CMSIS-Driver vStream](https://arm-software.github.io/CMSIS_6/latest/Driver/group__mci__interface__gr.html) configured for Video input. |
3234
| CMSIS_VSTREAM_VIDEO_OUT | [CMSIS-Driver vStream](https://arm-software.github.io/CMSIS_6/latest/Driver/group__mci__interface__gr.html) configured for Video output. |
35+
| STDOUT | Standard I/O for printf output. |
3336
| **Generic Inference Runner**| |
34-
| CMSIS_VSTREAM_AUDIO_IN | [CMSIS-Driver vStream](https://arm-software.github.io/CMSIS_6/latest/Driver/group__mci__interface__gr.html configured for Audio input. |
37+
| STDOUT | Standard I/O for printf output. |
3538

3639
## Platform Support
3740

38-
The templates support via _target names_ multiple [Arm Cortex-M IP Subsystems](https://www.arm.com/products/silicon-ip-subsystems#Products).
41+
The templates support via _target names_ multiple [Arm Cortex-M IP Subsystems](https://www.arm.com/products/silicon-ip-subsystems#Products). These _target names_ support execution on [AVH FVP simulation models](https://arm-software.github.io/AVH/main/simulation/html/index.html) which is useful during software development or with [Contiguous Integration (CI)](https://github.com/Arm-Examples/cmsis-mlek/actions) testing using GitHub actions.
3942

40-
| IP Subsystem | Description |
41-
|:-------------|:-------------|
42-
| Corstone-300 | Cortex-M55 optional with Ethos-U55 or Ethos-U65 |
43-
| Corstone-310 | Cortex-M85 optional with Ethos-U55 |
44-
| Corstone-315 | Cortex-M85 optional with Ethos-U65 |
45-
| Corstone-320 | Cortex-M85 optional with Ethos-U85 |
43+
| Target Name | IP Subsystem | Description |
44+
|:-------------|:-------------|:-------------|
45+
| AVH-SSE-300 | [Corstone-300](https://developer.arm.com/Processors/Corstone-300) | Cortex-M55 optional with Ethos-U55 or Ethos-U65 |
46+
| AVH-SSE-310 | [Corstone-310](https://developer.arm.com/Processors/Corstone-310) | Cortex-M85 optional with Ethos-U55 |
47+
| AVH-SSE-315 | [Corstone-315](https://developer.arm.com/Processors/Corstone-315) | Cortex-M85 optional with Ethos-U65 |
48+
| AVH-SSE-320 | [Corstone-320](https://developer.arm.com/Processors/Corstone-320) | Cortex-M85 optional with Ethos-U85 |
4649

47-
Adding a postfix to the _target name_ in the `*.csolution.yml` project file configures the neural network inference pipeline for Ethos-U. Without this prefix only the Cortex-M system is used as shown in the diagram below.
50+
Adding a postfix to the _target name_ in the `*.csolution.yml` project file configures the neural network inference pipeline for Ethos-U. Without this prefix only the Cortex-M system is used as shown in the diagram below. Such a postfix can also be used for _target names_ that deploy to physical hardware.
4851

4952
| Postfix | Description |
5053
|:-------------|:------------|

docs/template.md

Whitespace-only changes.

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ nav:
77
- Audio Template Applications: templates_audio.md
88
- Video Template Applications: templates_video.md
99
- Target Configuration Hardware Boards: target_configuration_refapp.md
10-
- Target Configuration Arm Virtual Hardware: target_configuration_avh.md
10+
- Target Configuration Arm Virtual Hardware: target_configuration_avh.md
1111

1212
plugins:
1313
- search

0 commit comments

Comments
 (0)