From b4123fd715e41070be5bb39600625c740185f562 Mon Sep 17 00:00:00 2001 From: Richard Burton Date: Fri, 4 Mar 2022 09:19:09 +0000 Subject: MLECO-2978: Update to 22.02 dependencies * Core-platform now a depdenency for timing adapter Signed-off-by: Richard Burton Change-Id: I54f3773bdf91083fa1513be15372fcf2231bea2c --- .gitmodules | 6 +++--- CMakeLists.txt | 2 +- dependencies/cmsis | 2 +- dependencies/core-driver | 2 +- dependencies/core-platform | 1 + dependencies/core-software | 1 - dependencies/tensorflow | 2 +- docs/quick_start.md | 2 +- docs/sections/building.md | 8 ++++---- download_dependencies.py | 17 ++++++++--------- release_notes.txt | 9 +++++++++ scripts/cmake/common_user_options.cmake | 2 +- scripts/cmake/tensorflow.cmake | 8 ++------ scripts/py/requirements.txt | 2 +- set_up_default_resources.py | 2 +- 15 files changed, 35 insertions(+), 31 deletions(-) create mode 160000 dependencies/core-platform delete mode 160000 dependencies/core-software diff --git a/.gitmodules b/.gitmodules index 66bff3c..2fc7c1a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,6 +7,6 @@ [submodule "dependencies/core_driver"] path = dependencies/core-driver url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-driver -[submodule "dependencies/core-software"] - path = dependencies/core-software - url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-software +[submodule "dependencies/core-platform"] + path = dependencies/core-platform + url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-platform diff --git a/CMakeLists.txt b/CMakeLists.txt index e693983..4ed64e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,7 +82,7 @@ if(POLICY CMP0123) endif() project(arm_ml_embedded_evaluation_kit - VERSION 21.11.1 + VERSION 22.02.0 DESCRIPTION "ARM ML Embedded Evaluation Kit" LANGUAGES C CXX ASM) diff --git a/dependencies/cmsis b/dependencies/cmsis index 1fab318..9b5df64 160000 --- a/dependencies/cmsis +++ b/dependencies/cmsis @@ -1 +1 @@ -Subproject commit 1fab31865cd538f12d1f74b760939404771603e3 +Subproject commit 9b5df640c777563919affb4e9201c96c657adbb2 diff --git a/dependencies/core-driver b/dependencies/core-driver index 089a347..24455ee 160000 --- a/dependencies/core-driver +++ b/dependencies/core-driver @@ -1 +1 @@ -Subproject commit 089a34786cbe02863eaa79f39dc92bf061dfcda8 +Subproject commit 24455eedb9e8939f8a28ca0101a6f2d171e1b2f9 diff --git a/dependencies/core-platform b/dependencies/core-platform new file mode 160000 index 0000000..456dbb7 --- /dev/null +++ b/dependencies/core-platform @@ -0,0 +1 @@ +Subproject commit 456dbb742d1b04c346047b18c993b5e7cd699aba diff --git a/dependencies/core-software b/dependencies/core-software deleted file mode 160000 index 02856bd..0000000 --- a/dependencies/core-software +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 02856bdd80f0ed52d09dd2fea450e61eb02372d6 diff --git a/dependencies/tensorflow b/dependencies/tensorflow index f75696c..1a0287f 160000 --- a/dependencies/tensorflow +++ b/dependencies/tensorflow @@ -1 +1 @@ -Subproject commit f75696cb9e7e5cc06761af2a83f7df0e5e975363 +Subproject commit 1a0287fc5fa81fa6aa1dcfb0c5b2e01f74164393 diff --git a/docs/quick_start.md b/docs/quick_start.md index 252b084..9808e15 100644 --- a/docs/quick_start.md +++ b/docs/quick_start.md @@ -63,7 +63,7 @@ mkdir resources_downloaded && cd resources_downloaded python3 -m venv env env/bin/python3 -m pip install --upgrade pip env/bin/python3 -m pip install --upgrade setuptools -env/bin/python3 -m pip install ethos-u-vela==3.2.0 +env/bin/python3 -m pip install ethos-u-vela==3.3.0 cd .. curl -L https://github.com/ARM-software/ML-zoo/raw/7c32b097f7d94aae2cd0b98a8ed5a3ba81e66b18/models/anomaly_detection/micronet_medium/tflite_int8/ad_medium_int8.tflite \ diff --git a/docs/sections/building.md b/docs/sections/building.md index 895e0e6..df21250 100644 --- a/docs/sections/building.md +++ b/docs/sections/building.md @@ -76,14 +76,14 @@ Before proceeding, it is *essential* to ensure that the following prerequisites > > `export PATH=/path/to/cmake/bin:$PATH` -- Python 3.6 or above is installed. Check your current installed version of Python by running: +- Python 3.8 or above is installed. Check your current installed version of Python by running: ```commandline python3 --version ``` ```log - Python 3.6.8 + Python 3.8.12 ``` - The build system creates a Python virtual environment during the build process. Please make sure that Python virtual @@ -101,7 +101,7 @@ Before proceeding, it is *essential* to ensure that the following prerequisites ``` ```log - pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6) + pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.8) ``` - Make @@ -309,7 +309,7 @@ This fetches every model into the `resources_downloaded` directory. It also opti for the default 128 MACs configuration of the Arm® *Ethos™-U55* NPU and for the default 256 MACs configuration of the Arm® *Ethos™-U65* NPU. -> **Note:** This script requires Python version 3.6 or higher. Please make sure all [build prerequisites](./building.md#build-prerequisites) +> **Note:** This script requires Python version 3.8 or higher. Please make sure all [build prerequisites](./building.md#build-prerequisites) > are satisfied. Additional command line arguments supported by this script are: diff --git a/download_dependencies.py b/download_dependencies.py index 45f68be..c02d98f 100755 --- a/download_dependencies.py +++ b/download_dependencies.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2021 Arm Limited. All rights reserved. +# Copyright (c) 2021-2022 Arm Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,11 +25,10 @@ import tempfile from urllib.request import urlopen from zipfile import ZipFile -tf = "https://github.com/tensorflow/tflite-micro/archive/f75696cb9e7e5cc06761af2a83f7df0e5e975363.zip" -cmsis = "https://github.com/ARM-software/CMSIS_5/archive/1fab31865cd538f12d1f74b760939404771603e3.zip" -ethos_u_core_sw = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-software.git/snapshot/ethos-u-core-software-21.11.tar.gz" -ethos_u_core_driver = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-21.11.tar.gz" - +tf = "https://github.com/tensorflow/tflite-micro/archive/1a0287fc5fa81fa6aa1dcfb0c5b2e01f74164393.zip" +cmsis = "https://github.com/ARM-software/CMSIS_5/archive/9b5df640c777563919affb4e9201c96c657adbb2.zip" +ethos_u_core_driver = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.02.tar.gz" +ethos_u_core_platform = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.02.tar.gz" def download(url_file: str, post_process=None): with urlopen(url_file) as response, tempfile.NamedTemporaryFile() as temp: @@ -69,12 +68,12 @@ def main(dependencies_path: str): download(cmsis, lambda file: unzip(file.name, to_path=os.path.join(dependencies_path, "cmsis"))) - download(ethos_u_core_sw, - lambda file: untar(file.name, - to_path=os.path.join(dependencies_path, "core-software"))) download(ethos_u_core_driver, lambda file: untar(file.name, to_path=os.path.join(dependencies_path, "core-driver"))) + download(ethos_u_core_platform, + lambda file: untar(file.name, + to_path=os.path.join(dependencies_path, "core-platform"))) download(tf, lambda file: unzip(file.name, to_path=os.path.join(dependencies_path, "tensorflow"))) diff --git a/release_notes.txt b/release_notes.txt index 93d1f66..a85068a 100644 --- a/release_notes.txt +++ b/release_notes.txt @@ -1,3 +1,12 @@ +Changes in 22.02 + * Support for 22.02 Ethos-U component and dependencies (core-driver, core-platform, Vela 3.3.0, CMSIS, TensorFlow Lite Micro). + * Added Object Detection use case. + * Replace DSCNN with MicroNet for KWS and KWS_ASR use cases. + * Increase minimum requirements of CMake to 3.15.6, armclang to 6.16 and Python to 3.8 + * Initial restructuring of repository sources. + * Documentation updates. + * Various minor bug fixes. + Changes in 21.11 * Support for 21.11 Ethos-U component and dependencies (core-software, core-driver, Vela 3.2.0, CMSIS, TensorFlow Lite). * Added dynamic load support for FVP for inference runner use-case. diff --git a/scripts/cmake/common_user_options.cmake b/scripts/cmake/common_user_options.cmake index a077264..ae35925 100644 --- a/scripts/cmake/common_user_options.cmake +++ b/scripts/cmake/common_user_options.cmake @@ -88,7 +88,7 @@ if (NOT TARGET_PLATFORM STREQUAL native) if (ETHOS_U_NPU_ENABLED) USER_OPTION(ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH "Path to Ethos-U NPU timing adapter sources" - "${DEPENDENCY_ROOT_DIR}/core-software/drivers/timing_adapter" + "${DEPENDENCY_ROOT_DIR}/core-platform/drivers/timing_adapter" PATH ) diff --git a/scripts/cmake/tensorflow.cmake b/scripts/cmake/tensorflow.cmake index 284c70a..127724b 100644 --- a/scripts/cmake/tensorflow.cmake +++ b/scripts/cmake/tensorflow.cmake @@ -54,7 +54,7 @@ else() if(ETHOS_U_NPU_ENABLED) # Arm Ethos-U55 NPU is the co-processor for ML workload: set(TENSORFLOW_LITE_MICRO_CO_PROCESSOR "ethos_u") - string(TOLOWER ${ETHOS_U_NPU_ID} ETHOSU_ARCH) + set(ETHOS_U_NPU_ID "u55") # Currently only u55 is supported by TFLite Micro. endif() set(TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL "cmsis_nn") @@ -68,10 +68,6 @@ if (TENSORFLOW_LITE_MICRO_CLEAN_BUILD) list(APPEND MAKE_TARGETS_LIST "clean") endif() -if (ETHOS_U_NPU_ID) - string(TOLOWER ${ETHOS_U_NPU_ID} ETHOSU_ARCH) -endif() - # Primary target list(APPEND MAKE_TARGETS_LIST "microlite") message(STATUS "TensorFlow Lite Micro build to be called for these targets: ${MAKE_TARGETS_LIST}") @@ -89,7 +85,7 @@ add_custom_target(tensorflow_build ALL BUILD_TYPE=${TENSORFLOW_LITE_MICRO_BUILD_TYPE} CMSIS_PATH=${CMSIS_SRC_PATH} # Conditional arguments - $<$:ETHOSU_ARCH=${ETHOSU_ARCH}> + $<$:ETHOSU_ARCH=${ETHOS_U_NPU_ID}> $<$:ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH}> $<$:ETHOSU_DRIVER_LIBS=$> diff --git a/scripts/py/requirements.txt b/scripts/py/requirements.txt index 6330f58..ce74502 100644 --- a/scripts/py/requirements.txt +++ b/scripts/py/requirements.txt @@ -3,7 +3,7 @@ Jinja2==2.11.2 llvmlite==0.33.0 MarkupSafe==1.1.1 numba==0.50.1 -numpy==1.17.4 +numpy==1.19.2 Pillow==7.0.0 pycparser==2.20 resampy==0.2.2 diff --git a/set_up_default_resources.py b/set_up_default_resources.py index 899fbe6..3138844 100755 --- a/set_up_default_resources.py +++ b/set_up_default_resources.py @@ -370,7 +370,7 @@ def set_up_resources( ) metadata_dict = dict() - vela_version = "3.2.0" + vela_version = "3.3.0" setup_script_hash_verified = False setup_script_hash = get_md5sum_for_file(os.path.abspath(__file__)) -- cgit v1.2.1