summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralexander <alexander.efremov@arm.com>2021-05-12 19:06:02 +0100
committerKshitij Sisodia <kshitij-sisodia-arm@review.mlplatform.org>2021-05-18 08:31:49 +0000
commit50a0650cd3c804a89aa77815820a8df390245c2f (patch)
tree564d00dfe6db460926c36ef0309708304870d1c5
parentddcb56d603ffa9cbff173d3c7066c2fa6f8d3c4c (diff)
downloadml-embedded-evaluation-kit-50a0650cd3c804a89aa77815820a8df390245c2f.tar.gz
MLECO-1873: default models are for 128 MAC config
Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: Ic3e940a9d289d649976c4e951ced1473fc31ff3f
-rw-r--r--CMakeLists.txt3
-rw-r--r--scripts/cmake/util_functions.cmake9
-rw-r--r--set_up_default_resources.py20
-rw-r--r--source/use_case/ad/usecase.cmake2
-rw-r--r--source/use_case/asr/usecase.cmake2
-rw-r--r--source/use_case/img_class/usecase.cmake2
-rw-r--r--source/use_case/inference_runner/usecase.cmake2
-rw-r--r--source/use_case/kws/usecase.cmake2
-rw-r--r--source/use_case/kws_asr/usecase.cmake4
9 files changed, 33 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc69c76..cefc86e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -439,9 +439,10 @@ foreach(use_case ${USE_CASES})
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 @@ function(USER_OPTION name description default type)
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 @@ def call_command(command: str) -> str:
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 @@ def set_up_resources(run_vela_on_models=False):
# 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 @@ def set_up_resources(run_vela_on_models=False):
"--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 @@ USER_OPTION(${use_case}_ACTIVATION_BUF_SZ "Activation buffer size for the chosen
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 @@ USER_OPTION(${use_case}_ACTIVATION_BUF_SZ "Activation buffer size for the chosen
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 @@ USER_OPTION(${use_case}_ACTIVATION_BUF_SZ "Activation buffer size for the chosen
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 @@ USER_OPTION(${use_case}_ACTIVATION_BUF_SZ "Activation buffer size for the chosen
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 @@ USER_OPTION(${use_case}_ACTIVATION_BUF_SZ "Activation buffer size for the chosen
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 @@ USER_OPTION(${use_case}_MODEL_SCORE_THRESHOLD_ASR "Specify the score threshold [
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)