MLECO-1873: default models are for 128 MAC config

Signed-off-by: alexander <alexander.efremov@arm.com>
Change-Id: Ic3e940a9d289d649976c4e951ced1473fc31ff3f
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc69c76..cefc86e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -439,9 +439,10 @@
             set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include)
             file(MAKE_DIRECTORY ${TEST_SRC_GEN_DIR} ${TEST_INC_GEN_DIR})
 
+            set(${use_case}_DEFAULT_TEST_DATA_DIR ${DEFAULT_TEST_DATA_DIR} CACHE PATH "")
             # Generate test data files to be included in x86 tests
             generate_test_data_code(
-                    INPUT_DIR "${DEFAULT_TEST_DATA_DIR}"
+                    INPUT_DIR "${${use_case}_DEFAULT_TEST_DATA_DIR}"
                     DESTINATION_SRC ${TEST_SRC_GEN_DIR}
                     DESTINATION_HDR ${TEST_INC_GEN_DIR}
                     NAMESPACE "test"
diff --git a/scripts/cmake/util_functions.cmake b/scripts/cmake/util_functions.cmake
index ecd9d2a..06ae184 100644
--- a/scripts/cmake/util_functions.cmake
+++ b/scripts/cmake/util_functions.cmake
@@ -23,11 +23,20 @@
     if (${type} STREQUAL PATH_OR_FILE)
 
         if (DEFINED ${name})
+            get_filename_component(ABSPATH "${${name}}" ABSOLUTE BASE_DIR ${CMAKE_SOURCE_DIR})
+
             get_path_type(${${name}} PATH_TYPE)
         else()
+            get_filename_component(ABSPATH "${default}" ABSOLUTE BASE_DIR ${CMAKE_SOURCE_DIR})
+
             get_path_type(${default} PATH_TYPE)
         endif()
 
+        if (NOT EXISTS ${ABSPATH})
+            message(FATAL_ERROR
+                    "Invalid directory or file path. Description: ${description}; Path: ${ABSPATH}")
+        endif()
+
         # Set the default type if path is not a dir or file path (or undefined)
         if (NOT ${PATH_TYPE} STREQUAL PATH AND NOT ${PATH_TYPE} STREQUAL FILEPATH)
             message(FATAL_ERROR "Invalid ${name}. It should be a dir or file path.")
diff --git a/set_up_default_resources.py b/set_up_default_resources.py
index 60c1747..0a02395 100644
--- a/set_up_default_resources.py
+++ b/set_up_default_resources.py
@@ -93,10 +93,14 @@
     command (string):  Specifies the command to run.
     """
     logging.info(command)
-    proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
-    stdout_log = proc.communicate()[0].decode("utf-8")
-    logging.info(stdout_log)
-    return stdout_log
+    proc = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
+    log = proc.stdout.decode("utf-8")
+    if proc.returncode == 0:
+        logging.info(log)
+    else:
+        logging.error(log)
+    proc.check_returncode()
+    return log
 
 
 def set_up_resources(run_vela_on_models=False):
@@ -185,7 +189,7 @@
     # New models will have same name with '_vela' appended.
     # For example:
     #   original model:  ds_cnn_clustered_int8.tflite
-    # after vela model:  ds_cnn_clustered_int8_vela.tflite
+    # after vela model:  ds_cnn_clustered_int8_vela_H128.tflite
     #
     # Note: To avoid to run vela twice on the same model, it's supposed that
     # downloaded model names don't contain the 'vela' word.
@@ -205,6 +209,12 @@
                        "--system-config=Ethos_U55_High_End_Embedded " +
                        f"--output-dir={output_dir}")
             call_command(command)
+            # model name after compiling with vela is an initial model name + _vela suffix
+            vela_optimised_model_path = str(model).replace(".tflite", "_vela.tflite")
+            # we want it to be initial model name + _vela_H128 suffix which indicates selected MAC config.
+            new_vela_optimised_model_path = vela_optimised_model_path.replace("_vela.tflite", "_vela_H128.tflite")
+            # rename default vela model
+            os.rename(vela_optimised_model_path, new_vela_optimised_model_path)
 
 
 if __name__ == '__main__':
diff --git a/source/use_case/ad/usecase.cmake b/source/use_case/ad/usecase.cmake
index d591f98..4291dad 100644
--- a/source/use_case/ad/usecase.cmake
+++ b/source/use_case/ad/usecase.cmake
@@ -61,7 +61,7 @@
         STRING)
 
 if (ETHOS_U55_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8_vela.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8.tflite)
 endif()
diff --git a/source/use_case/asr/usecase.cmake b/source/use_case/asr/usecase.cmake
index 2b17d84..3d18997 100644
--- a/source/use_case/asr/usecase.cmake
+++ b/source/use_case/asr/usecase.cmake
@@ -75,7 +75,7 @@
     STRING)
 
 if (ETHOS_U55_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_int8_vela.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_int8.tflite)
 endif()
diff --git a/source/use_case/img_class/usecase.cmake b/source/use_case/img_class/usecase.cmake
index 0089356..545697d 100644
--- a/source/use_case/img_class/usecase.cmake
+++ b/source/use_case/img_class/usecase.cmake
@@ -47,7 +47,7 @@
     STRING)
 
 if (ETHOS_U55_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1_vela.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1.tflite)
 endif()
diff --git a/source/use_case/inference_runner/usecase.cmake b/source/use_case/inference_runner/usecase.cmake
index 225aaf4..d66026f 100644
--- a/source/use_case/inference_runner/usecase.cmake
+++ b/source/use_case/inference_runner/usecase.cmake
@@ -22,7 +22,7 @@
 generate_default_input_code(${INC_GEN_DIR})
 
 if (ETHOS_U55_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized_vela.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized.tflite)
 endif()
diff --git a/source/use_case/kws/usecase.cmake b/source/use_case/kws/usecase.cmake
index 23de212..560f5a8 100644
--- a/source/use_case/kws/usecase.cmake
+++ b/source/use_case/kws/usecase.cmake
@@ -74,7 +74,7 @@
     STRING)
 
 if (ETHOS_U55_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8.tflite)
 endif()
diff --git a/source/use_case/kws_asr/usecase.cmake b/source/use_case/kws_asr/usecase.cmake
index 3eb61e5..9ff4fff 100644
--- a/source/use_case/kws_asr/usecase.cmake
+++ b/source/use_case/kws_asr/usecase.cmake
@@ -67,8 +67,8 @@
     STRING)
 
 if (ETHOS_U55_ENABLED)
-    set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela.tflite)
-    set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_int8_vela.tflite)
+    set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_H128.tflite)
+    set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8.tflite)
     set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_int8.tflite)