From b88705d6c04d8b7b2fdffaf1501042b984e682cf Mon Sep 17 00:00:00 2001 From: Isabella Gottardi Date: Wed, 21 Apr 2021 13:09:51 +0100 Subject: MLECO-1880: Make model zoo commit hash configurable for each model Signed-off-by: Isabella Gottardi Change-Id: Ic7bcb0cbf334049ff89e9973e58fd0b3bf463892 --- scripts/cmake/util_functions.cmake | 6 +++--- source/use_case/asr/usecase.cmake | 7 ++++--- source/use_case/img_class/usecase.cmake | 7 ++++--- source/use_case/inference_runner/usecase.cmake | 3 ++- source/use_case/kws/usecase.cmake | 7 ++++--- source/use_case/kws_asr/usecase.cmake | 14 ++++++++------ 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/scripts/cmake/util_functions.cmake b/scripts/cmake/util_functions.cmake index 6d76131..e39de2f 100644 --- a/scripts/cmake/util_functions.cmake +++ b/scripts/cmake/util_functions.cmake @@ -118,15 +118,15 @@ endfunction() # Function to download a files from the Arm Model Zoo # Arguments: +# model_zoo_version: hash of the Arm Model Zoo commit to use # file_sub_path: subpath within the model zoo respository # download_path: location where this file is to be downloaded (path including filename) -function(download_file_from_modelzoo file_sub_path download_path) +function(download_file_from_modelzoo model_zoo_version file_sub_path download_path) set(MODEL_ZOO_REPO "https://github.com/ARM-software/ML-zoo/raw") - set(MODEL_ZOO_VERSION "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") string(JOIN "/" FILE_URL - ${MODEL_ZOO_REPO} ${MODEL_ZOO_VERSION} ${file_sub_path}) + ${MODEL_ZOO_REPO} ${model_zoo_version} ${file_sub_path}) message(STATUS "Downloading ${FILE_URL} to ${download_path}...") diff --git a/source/use_case/asr/usecase.cmake b/source/use_case/asr/usecase.cmake index e4b8752..cac1862 100644 --- a/source/use_case/asr/usecase.cmake +++ b/source/use_case/asr/usecase.cmake @@ -102,8 +102,9 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) # Download the default model set(ZOO_COMMON_SUBPATH "models/speech_recognition/wav2letter/tflite_int8") set(ZOO_MODEL_SUBPATH "${ZOO_COMMON_SUBPATH}/${MODEL_FILENAME}") + set(ZOO_MODEL_VERSION "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") - download_file_from_modelzoo(${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) if (ETHOS_U55_ENABLED) message(STATUS @@ -124,8 +125,8 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) set(${use_case}_TEST_OFM ${MODEL_RESOURCES_DIR}/ofm0.npy CACHE FILEPATH "Input test vector for ${use_case}") - download_file_from_modelzoo(${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM}) - download_file_from_modelzoo(${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM}) set(TEST_SRC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/src) set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include) diff --git a/source/use_case/img_class/usecase.cmake b/source/use_case/img_class/usecase.cmake index 440eabe..384c58e 100644 --- a/source/use_case/img_class/usecase.cmake +++ b/source/use_case/img_class/usecase.cmake @@ -72,8 +72,9 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) # Download the default model set(ZOO_COMMON_SUBPATH "models/image_classification/mobilenet_v2_1.0_224/tflite_uint8") set(ZOO_MODEL_SUBPATH "${ZOO_COMMON_SUBPATH}/${MODEL_FILENAME}") + set(ZOO_MODEL_VERSION "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") - download_file_from_modelzoo(${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) if (ETHOS_U55_ENABLED) message(STATUS @@ -94,8 +95,8 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) set(${use_case}_TEST_OFM ${MODEL_RESOURCES_DIR}/ofm0.npy CACHE FILEPATH "Input test vector for ${use_case}") - download_file_from_modelzoo(${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM}) - download_file_from_modelzoo(${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM}) set(TEST_SRC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/src) set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include) diff --git a/source/use_case/inference_runner/usecase.cmake b/source/use_case/inference_runner/usecase.cmake index 77b1ae1..0fd159f 100644 --- a/source/use_case/inference_runner/usecase.cmake +++ b/source/use_case/inference_runner/usecase.cmake @@ -32,8 +32,9 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) # Download the default model set(ZOO_COMMON_SUBPATH "models/keyword_spotting/dnn_small/tflite_int8/") set(ZOO_MODEL_SUBPATH "${ZOO_COMMON_SUBPATH}/${MODEL_FILENAME}") + set(ZOO_MODEL_VERSION "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") - download_file_from_modelzoo(${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) if (ETHOS_U55_ENABLED) message(STATUS diff --git a/source/use_case/kws/usecase.cmake b/source/use_case/kws/usecase.cmake index b5ac09e..e6fbf69 100644 --- a/source/use_case/kws/usecase.cmake +++ b/source/use_case/kws/usecase.cmake @@ -99,8 +99,9 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) # Download the default model set(ZOO_COMMON_SUBPATH "models/keyword_spotting/ds_cnn_large/tflite_clustered_int8") set(ZOO_MODEL_SUBPATH "${ZOO_COMMON_SUBPATH}/${MODEL_FILENAME}") + set(ZOO_MODEL_VERSION "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") - download_file_from_modelzoo(${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) if (ETHOS_U55_ENABLED) message(STATUS @@ -121,8 +122,8 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) set(${use_case}_TEST_OFM ${MODEL_RESOURCES_DIR}/ofm0.npy CACHE FILEPATH "Input test vector for ${use_case}") - download_file_from_modelzoo(${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM}) - download_file_from_modelzoo(${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM}) set(TEST_SRC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/src) set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include) diff --git a/source/use_case/kws_asr/usecase.cmake b/source/use_case/kws_asr/usecase.cmake index f15bc73..5729be2 100644 --- a/source/use_case/kws_asr/usecase.cmake +++ b/source/use_case/kws_asr/usecase.cmake @@ -120,8 +120,9 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH_KWS) # Download the default model set(ZOO_COMMON_SUBPATH_KWS "models/keyword_spotting/ds_cnn_large/tflite_clustered_int8") set(ZOO_MODEL_SUBPATH_KWS "${ZOO_COMMON_SUBPATH_KWS}/${MODEL_FILENAME_KWS}") + set(ZOO_MODEL_VERSION_KWS "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") - download_file_from_modelzoo(${ZOO_MODEL_SUBPATH_KWS} ${DEFAULT_MODEL_PATH_KWS}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION_KWS} ${ZOO_MODEL_SUBPATH_KWS} ${DEFAULT_MODEL_PATH_KWS}) if (ETHOS_U55_ENABLED) message(STATUS @@ -142,8 +143,8 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH_KWS) set(${use_case}_TEST_OFM ${MODEL_RESOURCES_DIR_KWS}/${SUB_USECASE_KWS}/ofm0.npy CACHE FILEPATH "Input test vector for ${use_case}-${SUB_USECASE_KWS}.") - download_file_from_modelzoo(${ZOO_TEST_IFM_SUBPATH_KWS} ${${use_case}_TEST_IFM}) - download_file_from_modelzoo(${ZOO_TEST_OFM_SUBPATH_KWS} ${${use_case}_TEST_OFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION_KWS} ${ZOO_TEST_IFM_SUBPATH_KWS} ${${use_case}_TEST_IFM}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION_KWS} ${ZOO_TEST_OFM_SUBPATH_KWS} ${${use_case}_TEST_OFM}) set(TEST_SRC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/src) set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include) file(MAKE_DIRECTORY ${TEST_SRC_GEN_DIR} ${TEST_INC_GEN_DIR}) @@ -181,8 +182,9 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH_ASR) # Download the default model set(ZOO_COMMON_SUBPATH_ASR "models/speech_recognition/wav2letter/tflite_int8") set(ZOO_MODEL_SUBPATH_ASR "${ZOO_COMMON_SUBPATH_ASR}/${MODEL_FILENAME_ASR}") + set(ZOO_MODEL_VERSION_ASR "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b") - download_file_from_modelzoo(${ZOO_MODEL_SUBPATH_ASR} ${DEFAULT_MODEL_PATH_ASR}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION_ASR} ${ZOO_MODEL_SUBPATH_ASR} ${DEFAULT_MODEL_PATH_ASR}) if (ETHOS_U55_ENABLED) message(STATUS @@ -204,8 +206,8 @@ if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH_ASR) set(${use_case}_TEST_OFM_ASR ${MODEL_RESOURCES_DIR_ASR}/${SUB_USECASE_ASR}/ofm0.npy CACHE FILEPATH "Input test vector for ${use_case}-${SUB_USECASE_ASR}") - download_file_from_modelzoo(${ZOO_TEST_IFM_SUBPATH_KWS} ${${use_case}_TEST_IFM_ASR}) - download_file_from_modelzoo(${ZOO_TEST_OFM_SUBPATH_KWS} ${${use_case}_TEST_OFM_ASR}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION_ASR} ${ZOO_TEST_IFM_SUBPATH_KWS} ${${use_case}_TEST_IFM_ASR}) + download_file_from_modelzoo(${ZOO_MODEL_VERSION_ASR} ${ZOO_TEST_OFM_SUBPATH_KWS} ${${use_case}_TEST_OFM_ASR}) set(TEST_SRC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/src) set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include) -- cgit v1.2.1