diff options
Diffstat (limited to 'docs/use_cases')
-rw-r--r-- | docs/use_cases/ad.md | 86 | ||||
-rw-r--r-- | docs/use_cases/asr.md | 109 | ||||
-rw-r--r-- | docs/use_cases/img_class.md | 105 | ||||
-rw-r--r-- | docs/use_cases/inference_runner.md | 97 | ||||
-rw-r--r-- | docs/use_cases/kws.md | 108 | ||||
-rw-r--r-- | docs/use_cases/kws_asr.md | 112 |
6 files changed, 151 insertions, 466 deletions
diff --git a/docs/use_cases/ad.md b/docs/use_cases/ad.md index 5a37a0a..5f210b1 100644 --- a/docs/use_cases/ad.md +++ b/docs/use_cases/ad.md @@ -108,74 +108,26 @@ mkdir build_ad && cd build_ad On Linux, execute the following command to build **only** Anomaly Detection application to run on the Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=ad .. +cmake ../ -DUSE_CASE_BUILD=ad ``` - -Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific -parameters. - To configure a build that can be debugged using Arm-DS, we can just specify -the build type as `Debug`: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_CASE_BUILD=ad .. -``` - -To configure a build that can be debugged using a tool that only supports -DWARF format 3 (Modeldebugger for example), we can use: +the build type as `Debug` and use the `Arm Compiler` toolchain file: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ +cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DARMCLANG_DEBUG_DWARF_LEVEL=3 \ - -DUSE_CASE_BUILD=ad .. + -DUSE_CASE_BUILD=ad ``` -> **Note:** If building for different Ethos-U55 configurations, see -[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations): - -If the TensorFlow source tree is not in its default expected location, -set the path using `TENSORFLOW_SRC_PATH`. -Similarly, if the Ethos-U55 driver is not in the default location, -`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \ - -DUSE_CASE_BUILD=ad .. -``` - -Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by -default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \ - -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \ - -DUSE_CASE_BUILD=ad .. -``` +Also see: +- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies) +- [Using Arm Compiler](../sections/building.md#using-arm-compiler) +- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform) +- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools) -> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run the CMake command. +> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run +>the CMake command. If the CMake command succeeded, build the application as follows: @@ -239,12 +191,9 @@ or `<any>_<text>_02_<here>.wav` if it was from machine ID 02 etc. Next set ad_FILE_PATH to the location of this folder when building: ```commandline -cmake \ +cmake .. \ -Dad_FILE_PATH=/tmp/custom_files/ \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=ad .. + -DUSE_CASE_BUILD=ad ``` The audio flies found in the `ad_FILE_PATH` folder will be picked up and automatically converted to C++ files during the CMake @@ -268,12 +217,9 @@ The application performs inference using the model pointed to by the CMake param An example: ```commandline -cmake \ +cmake .. \ -Dad_MODEL_TFLITE_PATH=<path/to/custom_ad_model_after_vela.tflite> \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=ad .. + -DUSE_CASE_BUILD=ad ``` > **Note:** Clean the build directory before re-running the CMake command. diff --git a/docs/use_cases/asr.md b/docs/use_cases/asr.md index d20dc5a..ec10fdb 100644 --- a/docs/use_cases/asr.md +++ b/docs/use_cases/asr.md @@ -1,19 +1,19 @@ # Automatic Speech Recognition Code Sample -- [Introduction](#introduction) - - [Prerequisites](#prerequisites) -- [Building the code sample application from sources](#building-the-code-sample-application-from-sources) - - [Build options](#build-options) - - [Build process](#build-process) - - [Add custom input](#add-custom-input) - - [Add custom model](#add-custom-model) -- [Setting-up and running Ethos-U55 Code Sample](#setting-up-and-running-ethos-u55-code-sample) - - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) - - [Starting Fast Model simulation](#starting-fast-model-simulation) - - [Running Automatic Speech Recognition](#running-automatic-speech-recognition) -- [Automatic Speech Recognition processing information](#automatic-speech-recognition-processing-information) - - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction) - - [Postprocessing](#postprocessing) +- [Automatic Speech Recognition Code Sample](#automatic-speech-recognition-code-sample) + - [Introduction](#introduction) + - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction) + - [Postprocessing](#postprocessing) + - [Prerequisites](#prerequisites) + - [Building the code sample application from sources](#building-the-code-sample-application-from-sources) + - [Build options](#build-options) + - [Build process](#build-process) + - [Add custom input](#add-custom-input) + - [Add custom model](#add-custom-model) + - [Setting-up and running Ethos-U55 Code Sample](#setting-up-and-running-ethos-u55-code-sample) + - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) + - [Starting Fast Model simulation](#starting-fast-model-simulation) + - [Running Automatic Speech Recognition](#running-automatic-speech-recognition) ## Introduction @@ -148,72 +148,24 @@ On Linux, execute the following command to build **only** Automatic Speech Recog Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=asr .. +cmake ../ -DUSE_CASE_BUILD=asr ``` -Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific -parameters. - To configure a build that can be debugged using Arm-DS, we can just specify -the build type as `Debug`: +the build type as `Debug` and use the `Arm Compiler` toolchain file: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ +cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_CASE_BUILD=asr .. -``` - -To configure a build that can be debugged using a tool that only supports -DWARF format 3 (Modeldebugger for example), we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DARMCLANG_DEBUG_DWARF_LEVEL=3 \ - -DUSE_CASE_BUILD=asr .. -``` - -> **Note:** If building for different Ethos-U55 configurations, see ->[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations): - -If the TensorFlow source tree is not in its default expected location, -set the path using `TENSORFLOW_SRC_PATH`. -Similarly, if the Ethos-U55 driver is not in the default location, -`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \ - -DUSE_CASE_BUILD=asr .. + -DUSE_CASE_BUILD=asr ``` -Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by -default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \ - -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \ - -DUSE_CASE_BUILD=asr .. -``` +Also see: +- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies) +- [Using Arm Compiler](../sections/building.md#using-arm-compiler) +- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform) +- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools) > **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run >the CMake command. @@ -272,12 +224,9 @@ cp my_clip.wav /tmp/custom_wavs/ Next set `asr_FILE_PATH` to the location of this folder when building: ```commandline -cmake \ +cmake .. \ -Dasr_FILE_PATH=/tmp/custom_wavs/ \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DUSE_CASE_BUILD=asr \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake .. + -DUSE_CASE_BUILD=asr ``` The audio clips found in the `asr_FILE_PATH` folder will be picked up and automatically converted to C++ files during the @@ -317,12 +266,10 @@ the location of the associated labels file. An example: ```commandline -cmake \ +cmake .. \ -Dasr_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \ -Dasr_LABELS_TXT_FILE=<path/to/labels_custom_model.txt> \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake .. + -DUSE_CASE_BUILD=asr ``` > **Note:** Clean the build directory before re-running the CMake command. diff --git a/docs/use_cases/img_class.md b/docs/use_cases/img_class.md index 0102409..68a5285 100644 --- a/docs/use_cases/img_class.md +++ b/docs/use_cases/img_class.md @@ -1,16 +1,17 @@ # Image Classification Code Sample -- [Introduction](#introduction) - - [Prerequisites](#prerequisites) -- [Building the code sample application from sources](#building-the-code-sample-application-from-sources) - - [Build options](#build-options) - - [Build process](#build-process) - - [Add custom input](#add-custom-input) - - [Add custom model](#add-custom-model) -- [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample) - - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) - - [Starting Fast Model simulation](#starting-fast-model-simulation) - - [Running Image Classification](#running-image-classification) +- [Image Classification Code Sample](#image-classification-code-sample) + - [Introduction](#introduction) + - [Prerequisites](#prerequisites) + - [Building the code sample application from sources](#building-the-code-sample-application-from-sources) + - [Build options](#build-options) + - [Build process](#build-process) + - [Add custom input](#add-custom-input) + - [Add custom model](#add-custom-model) + - [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample) + - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) + - [Starting Fast Model simulation](#starting-fast-model-simulation) + - [Running Image Classification](#running-image-classification) ## Introduction @@ -76,72 +77,24 @@ On Linux, execute the following command to build **only** Image Classification a Model when providing only the mandatory arguments for CMake configuration: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=img_class .. +cmake ../ -DUSE_CASE_BUILD=img_class ``` -Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific -parameters. - To configure a build that can be debugged using Arm-DS, we can just specify -the build type as `Debug`: +the build type as `Debug` and use the `Arm Compiler` toolchain file: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ +cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_CASE_BUILD=img_class .. -``` - -To configure a build that can be debugged using a tool that only supports -DWARF format 3 (Modeldebugger for example), we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DARMCLANG_DEBUG_DWARF_LEVEL=3 \ - -DUSE_CASE_BUILD=img_class .. -``` - -> **Note:** If building for different Ethos-U55 configurations, see ->[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations): - -If the TensorFlow source tree is not in its default expected location, -set the path using `TENSORFLOW_SRC_PATH`. -Similarly, if the Ethos-U55 driver is not in the default location, -`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \ - -DUSE_CASE_BUILD=img_class .. + -DUSE_CASE_BUILD=img_class ``` -Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by -default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \ - -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \ - -DUSE_CASE_BUILD=img_class .. -``` +Also see: +- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies) +- [Using Arm Compiler](../sections/building.md#using-arm-compiler) +- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform) +- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools) > **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run >the CMake command. @@ -200,12 +153,9 @@ cp custom_image1.bmp /tmp/custom_images/ Next set `img_class_FILE_PATH` to the location of this folder when building: ```commandline -cmake \ +cmake .. \ -Dimg_class_FILE_PATH=/tmp/custom_images/ \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=img_class .. + -DUSE_CASE_BUILD=img_class ``` The images found in the `img_class_FILE_PATH` folder will be picked up and automatically converted to C++ files during @@ -249,13 +199,10 @@ Then, you must set `img_class_MODEL_TFLITE_PATH` to the location of the Vela pro An example: ```commandline -cmake \ +cmake .. \ -Dimg_class_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \ -Dimg_class_LABELS_TXT_FILE=<path/to/labels_custom_model.txt> \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=img_class .. + -DUSE_CASE_BUILD=img_class ``` > **Note:** Clean the build directory before re-running the CMake command. diff --git a/docs/use_cases/inference_runner.md b/docs/use_cases/inference_runner.md index ad47e7e..ebc4677 100644 --- a/docs/use_cases/inference_runner.md +++ b/docs/use_cases/inference_runner.md @@ -1,16 +1,16 @@ # Inference Runner Code Sample -- [Introduction](#introduction) - - [Prerequisites](#prerequisites) -- [Building the Code Samples application from sources](#building-the-code-samples-application-from-sources) - - [Build options](#build-options) - - [Build process](#build-process) - - [Add custom model](#add-custom-model) -- [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample) - - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) - - [Starting Fast Model simulation](#starting-fast-model-simulation) - - [Running Inference Runner](#running-inference-runner) -- [Inference Runner processing information](#inference-runner-processing-information) +- [Inference Runner Code Sample](#inference-runner-code-sample) + - [Introduction](#introduction) + - [Prerequisites](#prerequisites) + - [Building the Code Samples application from sources](#building-the-code-samples-application-from-sources) + - [Build options](#build-options) + - [Build process](#build-process) + - [Add custom model](#add-custom-model) + - [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample) + - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) + - [Starting Fast Model simulation](#starting-fast-model-simulation) + - [Running Inference Runner](#running-inference-runner) ## Introduction @@ -68,72 +68,23 @@ On Linux, execute the following command to build **only** Inference Runner appli Model when providing only the mandatory arguments for CMake configuration: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=inference_runner .. +cmake ../ -DUSE_CASE_BUILD=inference_runner ``` - -Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific -parameters. - To configure a build that can be debugged using Arm-DS, we can just specify -the build type as `Debug`: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_CASE_BUILD=inference_runner .. -``` - -To configure a build that can be debugged using a tool that only supports -DWARF format 3 (Modeldebugger for example), we can use: +the build type as `Debug` and use the `Arm Compiler` toolchain file: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ +cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DARMCLANG_DEBUG_DWARF_LEVEL=3 \ - -DUSE_CASE_BUILD=inference_runner .. + -DUSE_CASE_BUILD=inference_runner ``` -> **Note:** If building for different Ethos-U55 configurations, see ->[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations): - -If the TensorFlow source tree is not in its default expected location, -set the path using `TENSORFLOW_SRC_PATH`. -Similarly, if the Ethos-U55 driver is not in the default location, -`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \ - -DUSE_CASE_BUILD=inference_runner .. -``` - -Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by -default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \ - -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \ - -DUSE_CASE_BUILD=inference_runner .. -``` +Also see: +- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies) +- [Using Arm Compiler](../sections/building.md#using-arm-compiler) +- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform) +- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools) > **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run >the CMake command. @@ -188,11 +139,9 @@ Then, you must set `inference_runner_MODEL_TFLITE_PATH` to the location of the V An example: ```commandline -cmake \ +cmake .. \ -Dinference_runner_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake .. + -DUSE_CASE_BUILD=inference_runner ``` > **Note:** Clean the build directory before re-running the CMake command. diff --git a/docs/use_cases/kws.md b/docs/use_cases/kws.md index baf813a..8811efb 100644 --- a/docs/use_cases/kws.md +++ b/docs/use_cases/kws.md @@ -1,19 +1,19 @@ # Keyword Spotting Code Sample -- [Introduction](#introduction) - - [Prerequisites](#prerequisites) -- [Building the code sample application from sources](#building-the-code-sample-application-from-sources) - - [Build options](#build-options) - - [Build process](#build-process) - - [Add custom input](#add-custom-input) - - [Add custom model](#add-custom-model) -- [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample) - - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) - - [Starting Fast Model simulation](#starting-fast-model-simulation) - - [Running Keyword Spotting](#running-keyword-spotting) -- [Keyword Spotting processing information](#keyword-spotting-processing-information) - - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction) - - [Postprocessing](#postprocessing) +- [Keyword Spotting Code Sample](#keyword-spotting-code-sample) + - [Introduction](#introduction) + - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction) + - [Postprocessing](#postprocessing) + - [Prerequisites](#prerequisites) + - [Building the code sample application from sources](#building-the-code-sample-application-from-sources) + - [Build options](#build-options) + - [Build process](#build-process) + - [Add custom input](#add-custom-input) + - [Add custom model](#add-custom-model) + - [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample) + - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) + - [Starting Fast Model simulation](#starting-fast-model-simulation) + - [Running Keyword Spotting](#running-keyword-spotting) ## Introduction @@ -117,70 +117,24 @@ mkdir build_kws && cd build_kws On Linux, execute the following command to build Keyword Spotting application to run on the Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=kws .. +cmake ../ -DUSE_CASE_BUILD=kws ``` -Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific -parameters. - To configure a build that can be debugged using Arm-DS, we can just specify -the build type as `Debug`: +the build type as `Debug` and use the `Arm Compiler` toolchain file: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ +cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_CASE_BUILD=kws .. -``` - -To configure a build that can be debugged using a tool that only supports -DWARF format 3 (Modeldebugger for example), we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DARMCLANG_DEBUG_DWARF_LEVEL=3 \ - -DUSE_CASE_BUILD=kws .. -``` - -> **Note:** If building for different Ethos-U55 configurations, see [Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations): - -If the TensorFlow source tree is not in its default expected location, -set the path using `TENSORFLOW_SRC_PATH`. -Similarly, if the Ethos-U55 driver is not in the default location, -`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \ - -DUSE_CASE_BUILD=kws .. + -DUSE_CASE_BUILD=kws ``` -Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \ - -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \ - -DUSE_CASE_BUILD=kws .. -``` +Also see: +- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies) +- [Using Arm Compiler](../sections/building.md#using-arm-compiler) +- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform) +- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools) > **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run the CMake command. @@ -237,12 +191,9 @@ cp my_clip.wav /tmp/custom_wavs/ Next set `kws_FILE_PATH` to the location of this folder when building: ```commandline -cmake \ +cmake .. \ -Dkws_FILE_PATH=/tmp/custom_wavs/ \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DUSE_CASE_BUILD=kws \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake.. + -DUSE_CASE_BUILD=kws ``` The audio clips found in the `kws_FILE_PATH` folder will be picked up and automatically converted to C++ files during the @@ -281,13 +232,10 @@ to the location of the associated labels file. An example: ```commandline -cmake \ +cmake .. \ -Dkws_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \ -Dkws_LABELS_TXT_FILE=<path/to/labels_custom_model.txt> \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DUSE_CASE_BUILD=kws \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake .. + -DUSE_CASE_BUILD=kws ``` > **Note:** Clean the build directory before re-running the CMake command. diff --git a/docs/use_cases/kws_asr.md b/docs/use_cases/kws_asr.md index a347b16..b63ee3a 100644 --- a/docs/use_cases/kws_asr.md +++ b/docs/use_cases/kws_asr.md @@ -1,21 +1,21 @@ # Keyword Spotting and Automatic Speech Recognition Code Sample -- [Introduction](#introduction) - - [Prerequisites](#prerequisites) -- [Building the code sample application from sources](#building-the-code-sample-application-from-sources) - - [Build options](#build-options) - - [Build process](#build-process) - - [Add custom input](#add-custom-input) - - [Add custom model](#add-custom-model) -- [Setting-up and running Ethos-U55 Code Samples](#setting-up-and-running-ethos-u55-code-samples) - - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) - - [Starting Fast Model simulation](#starting-fast-model-simulation) - - [Running Keyword Spotting and Automatic Speech Recognition](#running-keyword-spotting-and-automatic-speech-recognition) -- [Keyword Spotting and Automatic Speech Recognition processing information](#keyword-spotting-and-automatic-speech-recognition-processing-information) - - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction) - - [Keyword Spotting Preprocessing](#keyword-spotting-preprocessing) - - [Automatic Speech Recognition Preprocessing](#automatic-speech-recognition-preprocessing) - - [Postprocessing](#postprocessing) +- [Keyword Spotting and Automatic Speech Recognition Code Sample](#keyword-spotting-and-automatic-speech-recognition-code-sample) + - [Introduction](#introduction) + - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction) + - [Keyword Spotting Preprocessing](#keyword-spotting-preprocessing) + - [Automatic Speech Recognition Preprocessing](#automatic-speech-recognition-preprocessing) + - [Postprocessing](#postprocessing) + - [Prerequisites](#prerequisites) + - [Building the code sample application from sources](#building-the-code-sample-application-from-sources) + - [Build options](#build-options) + - [Build process](#build-process) + - [Add custom input](#add-custom-input) + - [Add custom model](#add-custom-model) + - [Setting-up and running Ethos-U55 Code Samples](#setting-up-and-running-ethos-u55-code-samples) + - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model) + - [Starting Fast Model simulation](#starting-fast-model-simulation) + - [Running Keyword Spotting and Automatic Speech Recognition](#running-keyword-spotting-and-automatic-speech-recognition) ## Introduction @@ -188,70 +188,24 @@ mkdir build_kws_asr && cd build_kws_asr On Linux, execute the following command to build the application to run on the Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=kws_asr .. +cmake ../ -DUSE_CASE_BUILD=kws_asr ``` -Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific -parameters. - To configure a build that can be debugged using Arm-DS, we can just specify -the build type as `Debug`: +the build type as `Debug` and use the `Arm Compiler` toolchain file: ```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ +cmake .. \ + -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_CASE_BUILD=kws_asr .. -``` - -To configure a build that can be debugged using a tool that only supports -DWARF format 3 (Modeldebugger for example), we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DCMAKE_BUILD_TYPE=Debug \ - -DARMCLANG_DEBUG_DWARF_LEVEL=3 \ - -DUSE_CASE_BUILD=kws_asr .. -``` - -> **Note:** If building for different Ethos-U55 configurations, see [Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations): - -If the TensorFlow source tree is not in its default expected location, -set the path using `TENSORFLOW_SRC_PATH`. -Similarly, if the Ethos-U55 driver is not in the default location, -`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \ - -DUSE_CASE_BUILD=kws_asr .. + -DUSE_CASE_BUILD=kws_asr ``` -Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use: - -```commandline -cmake \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \ - -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \ - -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \ - -DUSE_CASE_BUILD=kws_asr .. -``` +Also see: +- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies) +- [Using Arm Compiler](../sections/building.md#using-arm-compiler) +- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform) +- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools) > **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run the CMake command. @@ -309,12 +263,9 @@ cp custom_audio1.wav /tmp/custom_files/ Next set `kws_asr_FILE_PATH` to the location of this folder when building: ```commandline -cmake \ +cmake .. \ -Dkws_asr_FILE_PATH=/tmp/custom_files/ \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=kws_asr- .. + -DUSE_CASE_BUILD=kws_asr ``` The files found in the `kws_asr_FILE_PATH` folder will be picked up and automatically converted to C++ files during the @@ -348,13 +299,10 @@ Then, you must set `kws_asr_MODEL_TFLITE_PATH_ASR` to the location of the Vela p An example: ```commandline -cmake \ +cmake .. \ -Dkws_asr_MODEL_TFLITE_PATH_ASR=<path/to/custom_asr_model_after_vela.tflite> \ -Dkws_asr_LABELS_TXT_FILE_ASR=<path/to/labels_custom_model.txt> \ - -DTARGET_PLATFORM=mps3 \ - -DTARGET_SUBSYSTEM=sse-300 \ - -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \ - -DUSE_CASE_BUILD=kws_asr .. + -DUSE_CASE_BUILD=kws_asr ``` > **Note:** Clean the build directory before re-running the CMake command. |