From 2181d0ac35f30202985a877950c88325ff665f6b Mon Sep 17 00:00:00 2001 From: Isabella Gottardi Date: Wed, 7 Apr 2021 09:27:38 +0100 Subject: MLECO-1766: Default build flow helper scripts added MLECO-1882: Anomaly Detection use-case default model download added and tests updated to run with it. Test data generation cmake logic moved from use-case cmakes to top-level cmake script. Signed-off-by: Isabella Gottardi Change-Id: Ifde469e3585c37b9a53810236a92ce52d4fbb407 --- source/use_case/img_class/usecase.cmake | 70 ++------------------------------- 1 file changed, 4 insertions(+), 66 deletions(-) (limited to 'source/use_case/img_class/usecase.cmake') diff --git a/source/use_case/img_class/usecase.cmake b/source/use_case/img_class/usecase.cmake index 384c58e..0089356 100644 --- a/source/use_case/img_class/usecase.cmake +++ b/source/use_case/img_class/usecase.cmake @@ -15,24 +15,9 @@ # limitations under the License. #---------------------------------------------------------------------------- -# If the path to a directory or source file has been defined, -# get the type here (FILEPATH or PATH): -if (DEFINED ${use_case}_FILE_PATH) - get_path_type(${${use_case}_FILE_PATH} PATH_TYPE) - # 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 ${use_case}_FILE_PATH. It should be a dir or file path.") - endif() -else() - # Default is a directory path - set(PATH_TYPE PATH) -endif() - -message(STATUS "${use_case}_FILE_PATH is of type: ${PATH_TYPE}") - USER_OPTION(${use_case}_FILE_PATH "Directory with custom image files to use, or path to a single image, in the evaluation application" ${CMAKE_CURRENT_SOURCE_DIR}/resources/${use_case}/samples/ - ${PATH_TYPE}) + PATH_OR_FILE) USER_OPTION(${use_case}_IMAGE_SIZE "Square image size in pixels. Images will be resized to this size." 224 @@ -61,57 +46,10 @@ USER_OPTION(${use_case}_ACTIVATION_BUF_SZ "Activation buffer size for the chosen 0x00200000 STRING) -# If there is no tflite file pointed to -if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH) - - set(MODEL_RESOURCES_DIR ${DOWNLOAD_DEP_DIR}/${use_case}) - file(MAKE_DIRECTORY ${MODEL_RESOURCES_DIR}) - set(MODEL_FILENAME mobilenet_v2_1.0_224_quantized_1_default_1.tflite) - set(DEFAULT_MODEL_PATH ${MODEL_RESOURCES_DIR}/${MODEL_FILENAME}) - - # 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_VERSION} ${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH}) - - if (ETHOS_U55_ENABLED) - message(STATUS - "Ethos-U55 is enabled, but the model downloaded is not optimized by vela. " - "To use Ethos-U55 acceleration, optimise the downloaded model and pass it " - "as ${use_case}_MODEL_TFLITE_PATH to the CMake configuration.") - endif() - - # If the target platform is native - if (${TARGET_PLATFORM} STREQUAL native) - - # Download test vectors - set(ZOO_TEST_IFM_SUBPATH "${ZOO_COMMON_SUBPATH}/testing_input/input/0.npy") - set(ZOO_TEST_OFM_SUBPATH "${ZOO_COMMON_SUBPATH}/testing_output/output/0.npy") - - set(${use_case}_TEST_IFM ${MODEL_RESOURCES_DIR}/ifm0.npy CACHE FILEPATH - "Input test vector for ${use_case}") - set(${use_case}_TEST_OFM ${MODEL_RESOURCES_DIR}/ofm0.npy CACHE FILEPATH - "Input test vector for ${use_case}") - - 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) - file(MAKE_DIRECTORY ${TEST_SRC_GEN_DIR} ${TEST_INC_GEN_DIR}) - - # Generate test data files to be included in x86 tests - generate_test_data_code( - INPUT_DIR "${DOWNLOAD_DEP_DIR}/${use_case}" - DESTINATION_SRC ${TEST_SRC_GEN_DIR} - DESTINATION_HDR ${TEST_INC_GEN_DIR} - USECASE "${use_case}") - endif() - +if (ETHOS_U55_ENABLED) + set(DEFAULT_MODEL_PATH ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1_vela.tflite) else() - set(DEFAULT_MODEL_PATH "N/A") + set(DEFAULT_MODEL_PATH ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1.tflite) endif() USER_OPTION(${use_case}_MODEL_TFLITE_PATH "NN models file to be used in the evaluation application. Model files must be in tflite format." -- cgit v1.2.1