summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsabella Gottardi <isabella.gottardi@arm.com>2023-03-20 15:35:42 +0000
committerIsabella Gottardi <isabella.gottardi@arm.com>2023-03-21 22:12:43 +0000
commit8ce2be8de498f328678eeed998dbe6994734c15e (patch)
treed8b2d714b3dd3379ba53bd6bd297c77af4221f9f
parent1bd434e1d618b6222968202531e36a922c7c44f7 (diff)
downloadml-embedded-evaluation-kit-8ce2be8de498f328678eeed998dbe6994734c15e.tar.gz
MLECO-3802: [Maintenance] Remove Pillow warning23.02
- Image.Resampling.BILINEAR replace deprecated Image.BILINEAR - Trivial documentation fixes Change-Id: Ia75af2d2bf171085d4a0a2c472f0e3f94dbdc5b9 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
-rw-r--r--CMakeLists.txt2
-rw-r--r--Readme.md3
-rw-r--r--docs/documentation.md8
-rw-r--r--docs/sections/building.md20
-rw-r--r--docs/sections/testing_benchmarking.md5
-rw-r--r--scripts/py/gen_rgb_cpp.py4
-rw-r--r--source/application/api/common/readme.md2
-rw-r--r--source/application/api/use_case/readme.md11
-rw-r--r--source/hal/readme.md2
-rw-r--r--source/log/readme.md2
-rw-r--r--source/math/readme.md2
-rw-r--r--source/profiler/readme.md2
-rw-r--r--source/use_case/readme.md2
13 files changed, 36 insertions, 29 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 704843e..5c4ba3d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -240,7 +240,7 @@ foreach(use_case ${USE_CASES})
if (NOT TARGET ${API_TO_USE}_api)
add_subdirectory(
${SRC_PATH}/application/api/use_case/${API_TO_USE} # Source path
- ${CMAKE_BINARY_DIR}/api/use_case/${API_TO_USE}) # Binary path
+ ${CMAKE_BINARY_DIR}/api/use_case/${API_TO_USE}) # Binary path
endif()
# Check if the target now exists
diff --git a/Readme.md b/Readme.md
index 1525829..0c8d019 100644
--- a/Readme.md
+++ b/Readme.md
@@ -24,6 +24,7 @@ To run evaluations using this software, we suggest using:
> and AVH, Arm® Corstone™-310 is available (for both Arm® Ethos™-U55 and Ethos™-U65 NPUs) only as AVH implementations.
## Inclusive language commitment
+
This product conforms to Arm's inclusive language policy and, to the best of our knowledge,
does not contain any non-inclusive language. If you find something that concerns you, email terms@arm.com.
@@ -105,7 +106,7 @@ could be used in all tools/IDEs (for example,
To run an ML application on the Cortex-M and Ethos-U NPU, please, follow these steps:
1. Set up your environment by installing [the required prerequisites](./docs/sections/building.md#Build-prerequisites).
-> **NOTE**: A Docker image built from the `Dockerfile` provided will have all the required packages installed.
+ > **NOTE**: A Docker image built from the `Dockerfile` provided will have all the required packages installed.
2. Generate an optimized neural network model for Ethos-U with a Vela compiler by following instructions [here](./docs/sections/building.md#Add-custom-model).
3. [Configure the build system](./docs/sections/building.md#Build-process).
4. [Compile the project](./docs/sections/building.md#Building-the-configured-project) with a `make` command.
diff --git a/docs/documentation.md b/docs/documentation.md
index 6e016e6..7d8fc4a 100644
--- a/docs/documentation.md
+++ b/docs/documentation.md
@@ -170,14 +170,14 @@ What these folders contain:
contains a class for a generic KWS neural network model and the "processing" API give user an easier way to drive
the MFCC calculations.
-> **NOTE:** The API here is also used to export a CMSIS-pack from this repository and therefore, it is imperative to
-> that the sources here do not depend on any HAL component or drive any platform dependent logic. If you are looking to
-> reuse components from this repository for your application level logic, this directory should be the prime candidate.
+ > **NOTE:** The API here is also used to export a CMSIS-pack from this repository and therefore, it is imperative to
+ > that the sources here do not depend on any HAL component or drive any platform dependent logic. If you are looking to
+ > reuse components from this repository for your application level logic, this directory should be the prime candidate.
- `hal`: Contains Hardware Abstraction Layer (HAL) sources, providing a platform-agnostic API to access hardware
platform-specific functions.
-> **Note:** Common code related to the `Arm Ethos-U NPU` software framework resides in *hal/components* sub-folder.
+ > **Note:** Common code related to the `Arm Ethos-U NPU` software framework resides in *hal/components* sub-folder.
- `log`: Common to all code logging macros managing log levels.
diff --git a/docs/sections/building.md b/docs/sections/building.md
index a7a894a..bf7ca4d 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -198,10 +198,11 @@ The build parameters are:
`dependencies/core-driver` git submodule. Repository is hosted here:
[ethos-u-core-driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver).
-- `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`: Paths to the CMSIS sources to be used to build TensorFlow Lite Micro library.
+- `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`, `CMSIS_NN_SRC_PATH`: Paths to the CMSIS sources to be used to build TensorFlow Lite Micro library.
These parameters are optional and are only valid for Arm® *Cortex®-M* CPU targeted configurations. The default values
- points to the `dependencies/cmsis` and `dependencies/cmsis-dsp` git submodules. Repositories are hosted here:
- [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git) and [CMSIS-DPS](https://github.com/ARM-software/CMSIS-DSP).
+ points to the `dependencies/cmsis`, `dependencies/cmsis-dsp` and `dependencies/cmsis-nn` git submodules.
+ Repositories are hosted here: [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git),
+ [CMSIS-DPS](https://github.com/ARM-software/CMSIS-DSP) and [CMSIS-NN](https://github.com/ARM-software/CMSIS-NN.git).
- `ETHOS_U_NPU_ENABLED`: Sets whether the use of *Ethos-U* NPU is available for the deployment target. By default, this
is set and therefore application is built with *Ethos-U* NPU supported.
@@ -317,8 +318,10 @@ repository to link against.
1. [TensorFlow Lite Micro repository](https://github.com/tensorflow/tensorflow)
2. [Ethos-U NPU core driver repository](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-driver)
-3. [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
-4. [Ethos-U NPU core driver repository](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-platform)
+3. [Ethos-U NPU core platform repository](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-platform)
+4. [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
+5. [CMSIS-DSP](https://github.com/ARM-software/CMSIS-DSP.git)
+6. [CMSIS-NN](https://github.com/ARM-software/CMSIS-NN.git)
> **Note:** If you are using non git project sources, run `python3 ./download_dependencies.py` and ignore further git
> instructions. Proceed to [Fetching resource files](./building.md#fetching-resource-files) section.
@@ -334,6 +337,8 @@ This downloads all of the required components and places them in a tree, like so
```tree
dependencies
├── cmsis
+ ├── cmsis-dsp
+ ├── cmsis-nn
├── core-driver
├── core-platform
└── tensorflow
@@ -341,7 +346,7 @@ dependencies
> **Note:** The default source paths for the `TPIP` sources assume the above directory structure. However, all of the
> relevant paths can be overridden by CMake configuration arguments `TENSORFLOW_SRC_PATH` `ETHOS_U_NPU_DRIVER_SRC_PATH`,
-> and `CMSIS_SRC_PATH`.
+> `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`and `CMSIS_NN_SRC_PATH`.
#### Fetching resource files
@@ -545,7 +550,6 @@ cmake .. \
> **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
> the CMake command.
-
### Configuring the build for MPS3 SSE-310
On Linux, execute the following command to build the application for target platform `mps3` and subsystem `sse-310`,
@@ -626,7 +630,7 @@ Where for each implemented use-case under the `source/use-case` directory, the f
- `ethos-u-<use-case name>.axf`: The built application binary for an ML use-case.
- `ethos-u-<use-case name>.map`: Information from building the application. For example: Libraries used, what was
- optimized, and location of objects).
+ optimized, and location of objects.
- `ethos-u-<use-case name>.htm`: Human readable file containing the call graph of application functions.
diff --git a/docs/sections/testing_benchmarking.md b/docs/sections/testing_benchmarking.md
index 41ac8df..54d3930 100644
--- a/docs/sections/testing_benchmarking.md
+++ b/docs/sections/testing_benchmarking.md
@@ -38,11 +38,15 @@ placed under `<build folder>/bin/` folder. For example:
├── ethos-u-<usecase1>
└── ethos-u-<usecase1>
```
+
To view all the available tests to run, use the following command in the `<build folder>`:
+
```commandline
ctest -N
```
+
Sample output:
+
```commandline
Test #1: ad-tests
Test #2: asr-tests
@@ -69,6 +73,7 @@ ctest
```
Sample output:
+
```log
Start 1: ad-tests
1/8 Test #1: ad-tests ......................... Passed 0.17 sec
diff --git a/scripts/py/gen_rgb_cpp.py b/scripts/py/gen_rgb_cpp.py
index 85ae071..b8d85ee 100644
--- a/scripts/py/gen_rgb_cpp.py
+++ b/scripts/py/gen_rgb_cpp.py
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: Copyright 2021 Arm Limited and/or its affiliates <open-source-office@arm.com>
+# SPDX-FileCopyrightText: Copyright 2021-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -78,7 +78,7 @@ def write_individual_img_cc_file(image_filename, cc_filename, header_template_fi
scale_ratio = (float)(max(ifm_width, ifm_height)) / (float)(min(original_image.size[0], original_image.size[1]))
resized_width = (int)(original_image.size[0] * scale_ratio)
resized_height = (int)(original_image.size[1] * scale_ratio)
- resized_image = original_image.resize([resized_width,resized_height], Image.BILINEAR)
+ resized_image = original_image.resize([resized_width,resized_height], Image.Resampling.BILINEAR)
# Crop the center of the image
resized_image = resized_image.crop((
diff --git a/source/application/api/common/readme.md b/source/application/api/common/readme.md
index fbb1d76..6ae8780 100644
--- a/source/application/api/common/readme.md
+++ b/source/application/api/common/readme.md
@@ -1,4 +1,4 @@
-## API: Common
+# API: Common
This module contains utilities that can be re-used by all ML use case API. These include (but not limited to):
diff --git a/source/application/api/use_case/readme.md b/source/application/api/use_case/readme.md
index 419dee0..b8fdfc7 100644
--- a/source/application/api/use_case/readme.md
+++ b/source/application/api/use_case/readme.md
@@ -1,3 +1,5 @@
+# Use case APIs
+
- [Use case APIs](#use-case-apis)
- [Anomaly detection](#anomaly-detection)
- [Automatic speech recognition](#automatic-speech-recognition)
@@ -9,8 +11,6 @@
- [Visual wake word](#visual-wake-word)
- [Useful links](#useful-links)
-# Use case APIs
-
The directories in here are individual CMake projects to generate use case API static libraries.
These libraries are intended to be used by external projects that only want access to the
ready-to-use ML use case pipelines implemented in this repository. This can be as CMake projects,
@@ -61,10 +61,7 @@ bounding boxes that encapsulate the faces.
This use case takes images as input and determines, with a certain probability, whether the image
contains a person.
-
## Useful links
-* [Project ReadMe](../../../../Readme.md)
-* [Reusable Software](../../../../Readme.md#reusable-software)
-
-
+- [Project ReadMe](../../../../Readme.md)
+- [Reusable Software](../../../../Readme.md#reusable-software)
diff --git a/source/hal/readme.md b/source/hal/readme.md
index 1757d5b..d0562e1 100644
--- a/source/hal/readme.md
+++ b/source/hal/readme.md
@@ -1,4 +1,4 @@
-## HAL project
+# HAL project
This directory is the root of `Hardware Abstraction Layer` (HAL) library for this repo. The intention is for this layer
to service higher layers to seamlessly use platform specific functionality via a single abstraction layer. HAL provides
diff --git a/source/log/readme.md b/source/log/readme.md
index 9b2c137..29cb467 100644
--- a/source/log/readme.md
+++ b/source/log/readme.md
@@ -1,4 +1,4 @@
-## Log
+# Log
This is a CMake interface library that exposes helper macros related to logging. This component is used by almost all
the others in this repository directly or transitively.
diff --git a/source/math/readme.md b/source/math/readme.md
index bee889d..3c77cbb 100644
--- a/source/math/readme.md
+++ b/source/math/readme.md
@@ -1,4 +1,4 @@
-## Math
+# Math
This is a CMake static library that allows application level code and ML use case APIs to use basic mathematical
functions on scalars and vectors. This library calls the standard C/C++ math functions when being compiled for
diff --git a/source/profiler/readme.md b/source/profiler/readme.md
index 92b7c2f..48bb35b 100644
--- a/source/profiler/readme.md
+++ b/source/profiler/readme.md
@@ -1,4 +1,4 @@
-## Profiler
+# Profiler
This is a CMake static library that exposes a C++ API for a very simple logging based profiler implementation. It
depends on the hardware abstraction layer's platform drivers to get performance measurement counters (PMU) from the
diff --git a/source/use_case/readme.md b/source/use_case/readme.md
index 24b0c4e..9e32dfb 100644
--- a/source/use_case/readme.md
+++ b/source/use_case/readme.md
@@ -1,4 +1,4 @@
-## ML Use case examples
+# ML Use case examples
This directory contains several ML example use case implementations. Sources here sit at the highest level in the
hierarchy. See [Building](../../docs/documentation.md#building) and