From f085fa5a2859178741f39563b4d9d68ca41d916a Mon Sep 17 00:00:00 2001 From: Cisco Cervellera Date: Mon, 2 Aug 2021 09:32:07 +0100 Subject: MLECO-2051: Work with Corstone-300 + Ethos-U65 Change-Id: I64ab930a1de5210f435f91bed7600a700581946f Signed-off-by: Isabella Gottardi Reviewed-on: https://eu-gerrit-2.euhpc.arm.com/c/ml/ecosystem/ml-embedded-evaluation-kit/+/459126 Tested-by: mlecosys Tested-by: George Gekov Reviewed-by: George Gekov Reviewed-by: Kshitij Sisodia --- docs/use_cases/img_class.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'docs/use_cases/img_class.md') diff --git a/docs/use_cases/img_class.md b/docs/use_cases/img_class.md index 237a972..9423a4e 100644 --- a/docs/use_cases/img_class.md +++ b/docs/use_cases/img_class.md @@ -8,8 +8,8 @@ - [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) + - [Setting up and running Ethos-U NPU code sample](#setting-up-and-running-ethos-u-npu-code-sample) + - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model) - [Starting Fast Model simulation](#starting-fast-model-simulation) - [Running Image Classification](#running-image-classification) @@ -36,12 +36,12 @@ specifies: - `img_class_MODEL_TFLITE_PATH` - The path to the NN model file in the `TFLite` format. The model is then processed and included in the application `axf` file. The default value points to one of the delivered set of models. - Note that the parameters `img_class_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U55_ENABLED` must be aligned with + Note that the parameters `img_class_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U_NPU_ENABLED` must be aligned with the chosen model. In other words: - - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally + - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied. - - if `ETHOS_U55_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized + - if `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized model in this case results in a runtime error. - `img_class_FILE_PATH`: The path to the directory containing the images, or a path to a single image file, that is to @@ -100,6 +100,7 @@ For further information, please refer to: - [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 Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools) +- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants) > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run > the CMake command. @@ -193,7 +194,7 @@ of any image does not match `IMAGE_SIZE`, then it is rescaled and padded so that The application performs inference using the model pointed to by the CMake parameter `MODEL_TFLITE_PATH`. -> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run +> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run > through the Vela compiler *before* continuing. For further information: [Optimize model with Vela compiler](../sections/building.md#Optimize-custom-model-with-Vela-compiler). @@ -238,15 +239,15 @@ custom_model_after_vela.tflite.cc After compiling, your custom model has now replaced the default one in the application. -## Setting up and running Ethos-U55 code sample +## Setting up and running Ethos-U NPU code sample -### Setting up the Ethos-U55 Fast Model +### Setting up the Ethos-U Fast Model The FVP is available publicly from [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps). -For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both -the *Ethos-U55* and *Cortex-M55*. The model is currently only supported on Linux-based machines. +For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55* +and offers a choice of the *Ethos-U55* and *Ethos-U65* processors. To install the FVP: @@ -255,7 +256,7 @@ To install the FVP: - Run the install script in the extracted package: ```commandline -./FVP_Corstone_SSE-300_Ethos-U55.sh +./FVP_Corstone_SSE-300.sh ``` - Follow the instructions to install the FVP to the required location. @@ -384,7 +385,7 @@ resource folder. The profiling section of the log shows that for this inference: -- *Ethos-U55* PMU report: +- *Ethos-U* PMU report: - 7,490,172 total cycle: The number of NPU cycles. @@ -393,12 +394,12 @@ The profiling section of the log shows that for this inference: - 914 idle cycles: The number of cycles for which the NPU was idle. - 2,489,726 AXI0 read beats: The number of AXI beats with read transactions from AXI0 bus. AXI0 is the bus where the - *Ethos-U55* NPU reads and writes to the computation buffers, activation buf, or tensor arenas. + *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas. - 1,098,726 AXI0 write beats: The number of AXI beats with write transactions to AXI0 bus. - 471,129 AXI1 read beats: The number of AXI beats with read transactions from AXI1 bus. AXI1 is the bus where the - *Ethos-U55* NPU reads the model. So, read-only. + *Ethos-U* NPU reads the model. So, read-only. - For FPGA platforms, a CPU cycle count can also be enabled. However, do not use cycle counters for FVP, as the CPU model is not cycle-approximate or cycle-accurate -- cgit v1.2.1