* [dunfell/master][PATCH] armnn: deprecated, remove
@ 2020-05-19 3:41 Denys Dmytriyenko
0 siblings, 0 replies; only message in thread
From: Denys Dmytriyenko @ 2020-05-19 3:41 UTC (permalink / raw)
To: meta-arago
From: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
.../packagegroup-arago-tisdk-addons-sdk-target.bb | 6 -
.../packagegroup-arago-tisdk-matrix.bb | 9 -
.../recipes-core/packagegroups/ti-analytics.bb | 4 -
.../matrix/matrix-gui-tidl-demos_2.0.bb | 16 -
.../recipes-support/armnn/armnn-caffe_git.bb | 22 -
.../recipes-support/armnn/armnn-onnx_git.bb | 22 -
.../recipes-support/armnn/armnn-tensorflow_git.bb | 26 -
.../armnn/0001-stdlib-issue-work-around.patch | 61 --
.../0002-enable-use-of-boost-shared-library.patch | 31 -
...0003-add-more-test-command-line-arguments.patch | 74 ---
.../armnn/0004-generate-versioned-library.patch | 51 --
.../0005-add-armnn-mobilenet-test-example.patch | 68 ---
.../armnn/0006-armnn-mobilenet-test-example.patch | 675 ---------------------
...-enable-use-of-arm-compute-shared-library.patch | 31 -
...gop-overflow-warning-resulting-in-compila.patch | 29 -
...and-line-options-for-video-port-selection.patch | 60 --
...nnexamples-update-for-19.08-modifications.patch | 28 -
...e-versioned-library-for-armnnTfLiteParser.patch | 25 -
...e-Fix-exception-for-help-command-line-opt.patch | 51 --
...e-setting-capture-resolution-for-the-came.patch | 48 --
.../recipes-support/armnn/armnn_git.bb | 102 ----
21 files changed, 1439 deletions(-)
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn-caffe_git.bb
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn-onnx_git.bb
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn-tensorflow_git.bb
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0003-add-more-test-command-line-arguments.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0004-generate-versioned-library.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0005-add-armnn-mobilenet-test-example.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0006-armnn-mobilenet-test-example.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0007-enable-use-of-arm-compute-shared-library.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0008-Avoid-stringop-overflow-warning-resulting-in-compila.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0009-command-line-options-for-video-port-selection.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0010-armnnexamples-update-for-19.08-modifications.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0011-Generate-versioned-library-for-armnnTfLiteParser.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0012-ArmnnExample-Fix-exception-for-help-command-line-opt.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn/0013-ArmnnExample-setting-capture-resolution-for-the-came.patch
delete mode 100644 meta-arago-extras/recipes-support/armnn/armnn_git.bb
diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bb
index 083c85f..851f481 100644
--- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bb
+++ b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bb
@@ -163,35 +163,29 @@ EXTRA_LIBS_append_k2e = " libulm-staticdev \
gdbserver-c6x-dev \
"
-ARMNN_PACKAGES = ""
VOXEL_PACKAGES = ""
-#ARMNN_PACKAGES = "${@bb.utils.contains('MACHINE_FEATURES', 'dsp', 'armnn-dev', '', d)}"
#VOXEL_PACKAGES = "${@bb.utils.contains('MACHINE_FEATURES', 'dsp', 'voxelsdk-dev', '', d)}"
EXTRA_PACKAGES = ""
EXTRA_PACKAGES_append_ti33x = " ${VOXEL_PACKAGES} \
arm-compute-library-dev \
- ${ARMNN_PACKAGES} \
tensorflow-lite-dev \
tensorflow-lite-staticdev \
pdm-anomaly-detection-dev \
"
EXTRA_PACKAGES_append_ti43x = " ${VOXEL_PACKAGES} \
arm-compute-library-dev \
- ${ARMNN_PACKAGES} \
tensorflow-lite-dev \
tensorflow-lite-staticdev \
pdm-anomaly-detection-dev \
"
EXTRA_PACKAGES_append_omap-a15 = " ${VOXEL_PACKAGES} \
arm-compute-library-dev \
- ${ARMNN_PACKAGES} \
tensorflow-lite-dev \
tensorflow-lite-staticdev \
pdm-anomaly-detection-dev \
"
EXTRA_PACKAGES_append_am65xx = " arm-compute-library-dev \
- ${ARMNN_PACKAGES} \
tensorflow-lite-dev \
tensorflow-lite-staticdev \
pdm-anomaly-detection-dev \
diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-matrix.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-matrix.bb
index d1acfc5..dff30fb 100644
--- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-matrix.bb
+++ b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-matrix.bb
@@ -88,11 +88,6 @@ MATRIX_OPENCV_OPENCL_APPS_omap-a15 = " \
matrix-machinevision-demo-simplepeopletracking \
"
-MATRIX_ARMNN_APPS = " \
- matrix-armnn-demo-staticimg \
- matrix-armnn-demo-livecam \
-"
-
MATRIX_APPS = ""
MATRIX_APPS_append_ti33x = " \
@@ -115,7 +110,6 @@ MATRIX_APPS_append_ti33x = " \
\
${MATRIX_OPENCV_ARM_ONLY_APPS} \
\
- ${MATRIX_ARMNN_APPS} \
matrix-analytics-pdm-anomaly-detection \
"
@@ -139,7 +133,6 @@ MATRIX_APPS_append_ti43x = " \
\
${MATRIX_OPENCV_ARM_ONLY_APPS} \
\
- ${MATRIX_ARMNN_APPS} \
matrix-analytics-pdm-anomaly-detection \
"
@@ -160,7 +153,6 @@ MATRIX_APPS_append_omap-a15 = " \
matrix-gui-generic-pm \
matrix-gui-clocks \
matrix-gui-pm-demos-governor \
- ${MATRIX_ARMNN_APPS} \
matrix-analytics-pdm-anomaly-detection \
"
@@ -180,7 +172,6 @@ MATRIX_APPS_append_am65xx = " \
\
${MATRIX_OPENCV_ARM_ONLY_APPS} \
\
- ${MATRIX_ARMNN_APPS} \
matrix-analytics-pdm-anomaly-detection \
"
diff --git a/meta-arago-distro/recipes-core/packagegroups/ti-analytics.bb b/meta-arago-distro/recipes-core/packagegroups/ti-analytics.bb
index b2d7d3c..09264c2 100644
--- a/meta-arago-distro/recipes-core/packagegroups/ti-analytics.bb
+++ b/meta-arago-distro/recipes-core/packagegroups/ti-analytics.bb
@@ -5,9 +5,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
-ARMNN_PACKAGES = ""
-#ARMNN_PACKAGES = "${@bb.utils.contains('MACHINE_FEATURES', 'dsp', 'armnn', '', d)}"
-
TENSORFLOW_DEMO = ""
#TENSORFLOW_DEMO = " \
# ${@oe.utils.all_distro_features(d, 'opencv', 'tensorflow-lite-demo', '')} \
@@ -18,7 +15,6 @@ TENSORFLOW_DEMO = ""
ANALYTICS = ""
#ANALYTICS = " \
-# ${ARMNN_PACKAGES} \
# ${TENSORFLOW_DEMO} \
# ${@['','qt-opencv-opencl-opengl-multithreaded'][oe.utils.all_distro_features(d, 'opencv opencl opengl', True, False) and bb.utils.contains('MACHINE_FEATURES', 'gpu dsp', True, False, d)]} \
# ${@['','barcode-roi'][oe.utils.all_distro_features(d, 'opencv', True, False) and bb.utils.contains('MACHINE_FEATURES', 'dsp', True, False, d)]} \
diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-tidl-demos_2.0.bb b/meta-arago-extras/recipes-core/matrix/matrix-gui-tidl-demos_2.0.bb
index e8ad27e..f05dd4c 100644
--- a/meta-arago-extras/recipes-core/matrix/matrix-gui-tidl-demos_2.0.bb
+++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-tidl-demos_2.0.bb
@@ -23,8 +23,6 @@ PACKAGES = "matrix-tidl-demo-staticimg \
matrix-tidl-demo-objdet \
matrix-tidl-demo-objdet-livecam \
matrix-tidl-demo-segment \
- matrix-armnn-demo-staticimg \
- matrix-armnn-demo-livecam \
"
RDEPENDS_matrix-tidl-demo-staticimg = " \
@@ -67,14 +65,6 @@ RDEPENDS_matrix-tidl-demo-segment = " \
${TIDLDEMO_RDEPENDS} \
"
-RDEPENDS_matrix-armnn-demo-staticimg = " \
- ${TIDLDEMO_RDEPENDS} \
-"
-
-RDEPENDS_matrix-armnn-demo-livecam = " \
- ${TIDLDEMO_RDEPENDS} \
-"
-
FILES_matrix-tidl-demo-staticimg = "${MATRIX_APP_DIR}/tidl_demo_staticimg/*"
FILES_matrix-tidl-demo-staticimg += "${bindir}/runTidlStaticImg.sh"
@@ -104,9 +94,3 @@ FILES_matrix-tidl-demo-objdet-livecam += "${bindir}/runTidlObjdet_livecam.sh"
FILES_matrix-tidl-demo-segment = "${MATRIX_APP_DIR}/tidl_demo_segment/*"
FILES_matrix-tidl-demo-segment += "${bindir}/runTidlSegment.sh"
-
-FILES_matrix-armnn-demo-staticimg = "${MATRIX_APP_DIR}/armnn_demo_staticimg/*"
-FILES_matrix-armnn-demo-staticimg += "${bindir}/runArmnnStaticImg.sh"
-
-FILES_matrix-armnn-demo-livecam = "${MATRIX_APP_DIR}/armnn_demo_livecam/*"
-FILES_matrix-armnn-demo-livecam += "${bindir}/runArmnnLiveCam.sh"
diff --git a/meta-arago-extras/recipes-support/armnn/armnn-caffe_git.bb b/meta-arago-extras/recipes-support/armnn/armnn-caffe_git.bb
deleted file mode 100644
index a435ed7..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn-caffe_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Caffe protobuf files - used in ARMNN for Caffe network models"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://caffeImport/LICENSE;md5=91d560803ea3d191c457b12834553991"
-
-SRC_URI = "git://git.ti.com/tidl/tidl-utils;branch=${BRANCH} \
- "
-
-SRCREV = "0c52c82a2aed1a27ca2a9b4b11effb426842b6ab"
-
-PV = "1.0"
-
-BRANCH = "master"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -d ${D}${datadir}/${BPN}/caffe/proto/
- for file in ${S}/caffeImport/ver361/*
- do
- install -m 0644 $file ${D}${datadir}/${BPN}/caffe/proto/
- done
-}
diff --git a/meta-arago-extras/recipes-support/armnn/armnn-onnx_git.bb b/meta-arago-extras/recipes-support/armnn/armnn-onnx_git.bb
deleted file mode 100644
index d0f0c70..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn-onnx_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Onnx protobuf files - used in ARMNN for Onnx network models"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://onnxImport/LICENSE;md5=077ce3eaeaea91462d41c566300d2a02"
-
-SRC_URI = "git://git.ti.com/tidl/tidl-utils;branch=${BRANCH} \
- "
-
-SRCREV = "0c52c82a2aed1a27ca2a9b4b11effb426842b6ab"
-
-PV = "1.0"
-
-BRANCH = "master"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -d ${D}${datadir}/${BPN}/onnx/
- for file in ${S}/onnxImport/ver361/*
- do
- install -m 0644 $file ${D}${datadir}/${BPN}/onnx/
- done
-}
diff --git a/meta-arago-extras/recipes-support/armnn/armnn-tensorflow_git.bb b/meta-arago-extras/recipes-support/armnn/armnn-tensorflow_git.bb
deleted file mode 100644
index 0b0f148..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn-tensorflow_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Tensorflow protobuf files - used in ARMNN for Tensorflow network models"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"
-
-SRC_URI = " \
- git://github.com/tensorflow/tensorflow.git;name=tensorflow; \
- git://github.com/ARM-software/armnn.git;name=armnn;subdir=${WORKDIR}/armnn;destsuffix=armnn \
-"
-
-PV = "1.10.0"
-
-SRCREV_tensorflow = "aed8f42bafabf11c5d92ce4109a5e0408b31f9c5"
-SRCREV_armnn = "4c7098bfeab1ffe1cdc77f6c15548d3e73274746"
-SRCREV_FORMAT = "tensorflow"
-
-DEPENDS = "protobuf-native"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- # Install sources + build artifacts as reuired by ARMNN
- install -d ${D}${datadir}/${BPN}
-
- # Convert protobuf sources to C sources and install
- ${WORKDIR}/armnn/scripts/generate_tensorflow_protobuf.sh ${D}${datadir}/${BPN} ${STAGING_DIR_NATIVE}${prefix}
-}
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch b/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
deleted file mode 100644
index cf83532..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 3691057b51010c1bd979998c460ad7b43f97496f Mon Sep 17 00:00:00 2001
-From: Qin Su <qsu@ti.com>
-Date: Fri, 10 Aug 2018 11:02:14 -0400
-Subject: [PATCH] stdlib issue work around
-
-Upstream-Status: Pending
-Need to invesitate whether this is appropriate, or if cmake should be
-fixed. This is currently an open issue on the cmake project [1].
-
-[1] https://gitlab.kitware.com/cmake/cmake/issues/16291
-
-Signed-off-by: Qin Su <qsu@ti.com>
----
- cmake/GlobalConfig.cmake | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
- mode change 100644 => 100755 cmake/GlobalConfig.cmake
-
-diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
-old mode 100644
-new mode 100755
-index 2dbeada..2b88c16
---- a/cmake/GlobalConfig.cmake
-+++ b/cmake/GlobalConfig.cmake
-@@ -47,6 +47,34 @@ elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP")
- add_definitions(-DNOMINMAX=1 -DNO_STRICT=1)
- endif()
-+
-+# Ensure that the default include system directories are added to the list of CMake implicit includes.
-+# This workarounds an issue that happens when using GCC 6 and using system includes (-isystem).
-+# For more details check: https://bugs.webkit.org/show_bug.cgi?id=161697
-+macro(DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _compiler _flags _result)
-+ file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n")
-+ separate_arguments(_buildFlags UNIX_COMMAND "${_flags}")
-+ execute_process(COMMAND ${_compiler} ${_buildFlags} -v -E -x ${_lang} -dD dummy
-+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles OUTPUT_QUIET
-+ ERROR_VARIABLE _gccOutput)
-+ file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
-+ if ("${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+) *\n *End of (search) list")
-+ set(${_result} ${CMAKE_MATCH_1})
-+ string(REPLACE "\n" " " ${_result} "${${_result}}")
-+ separate_arguments(${_result})
-+ endif ()
-+endmacro()
-+
-+if (CMAKE_COMPILER_IS_GNUCC)
-+ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c" "${CMAKE_C_COMPILER}" "${CMAKE_C_FLAGS}" SYSTEM_INCLUDE_DIRS)
-+ set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
-+endif ()
-+
-+if (CMAKE_COMPILER_IS_GNUCXX)
-+ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c++" "${CMAKE_CXX_COMPILER}" "${CMAKE_CXX_FLAGS}" SYSTEM_INCLUDE_DIRS)
-+ set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
-+endif ()
-+
- if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -llog")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -llog")
---
-1.9.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch b/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
deleted file mode 100644
index a436ffd..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b46177bb1a59df0130aba88555ec4f81024669a8 Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Tue, 27 Aug 2019 09:40:54 -0400
-Subject: [PATCH] fix boost lib dependency
-
-Upstream-Status: Inappropriate [configuration]
-This is a hack to modify hard coded configuration. If anything, it should be made configurable.
-
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- cmake/GlobalConfig.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
-index f518f809..d94c4e50 100755
---- a/cmake/GlobalConfig.cmake
-+++ b/cmake/GlobalConfig.cmake
-@@ -135,8 +135,8 @@ endif()
- set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
-
- # Boost
--add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
--set(Boost_USE_STATIC_LIBS ON)
-+add_definitions(-DBOOST_ALL_DYN_LINK) # use shared library
-+set(Boost_USE_STATIC_LIBS OFF)
- find_package(Boost 1.59 REQUIRED COMPONENTS unit_test_framework system filesystem log program_options)
- include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
- link_directories(${Boost_LIBRARY_DIRS})
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0003-add-more-test-command-line-arguments.patch b/meta-arago-extras/recipes-support/armnn/armnn/0003-add-more-test-command-line-arguments.patch
deleted file mode 100644
index 04eb049..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0003-add-more-test-command-line-arguments.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 964cb82f3b811aec6663255ab0aa589f0a3be0ee Mon Sep 17 00:00:00 2001
-From: Qin Su <qsu@ti.com>
-Date: Fri, 22 Feb 2019 14:10:07 -0500
-Subject: [PATCH] add more test command line arguments
-
-Upstream-Status: Inappropriate [TI only test code]
-Signed-off-by: Qin Su <qsu@ti.com>
----
- tests/InferenceTest.inl | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 49 insertions(+)
-
-diff --git a/tests/InferenceTest.inl b/tests/InferenceTest.inl
-index 538720b..6fd21b8 100644
---- a/tests/InferenceTest.inl
-+++ b/tests/InferenceTest.inl
-@@ -326,6 +326,55 @@ int ClassifierInferenceTestMain(int argc,
- BOOST_ASSERT(modelFilename);
- BOOST_ASSERT(inputBindingName);
- BOOST_ASSERT(outputBindingName);
-+ int count;
-+ const char *p_input;
-+ char inmodelname[500];
-+ char outtensorname[500];
-+
-+ /* parse command line */
-+ for (count = 1; count < argc; count++)
-+ {
-+ if (*(argv[count]) == '+')
-+ {
-+ p_input = argv[count] + 1;
-+ switch (*(p_input))
-+ {
-+ case 'i':
-+ case 'I':
-+ strcpy(inmodelname, p_input + 2);
-+ modelFilename = &inmodelname[0];
-+ std::cout << "Input model = " << modelFilename << std::endl;
-+ break;
-+ case 'o':
-+ case 'O':
-+ strcpy(outtensorname, p_input + 2);
-+ outputBindingName = &outtensorname[0];
-+ std::cout << "out tensor name = " << outputBindingName << std::endl;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ else if (*(argv[count]) == '-')
-+ {
-+ p_input = argv[count] + 1;
-+ switch (*(p_input))
-+ {
-+ case '-':
-+ p_input = argv[count] + 2;
-+ case 'h':
-+ case 'H':
-+ std::cout <<"\nAdditional Options: " << std::endl;
-+ std::cout <<" +i Set user specified inference model name." << std::endl;
-+ std::cout <<" If not set, default name is used." << std::endl;
-+ std::cout <<" +o Set user specified output tensor name." << std::endl;
-+ std::cout <<" If not set, default name is used.\n" << std::endl;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ }
-
- return InferenceTestMain(argc, argv, defaultTestCaseIds,
- [=]
---
-1.9.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0004-generate-versioned-library.patch b/meta-arago-extras/recipes-support/armnn/armnn/0004-generate-versioned-library.patch
deleted file mode 100644
index a3c3e21..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0004-generate-versioned-library.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 94bec1c47b8da6350c598827950ef4852e998bd9 Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Mon, 2 Sep 2019 10:16:21 -0400
-Subject: [PATCH] Generate versioned library
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- CMakeLists.txt | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8bdcd8df..38d1390f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -95,6 +95,7 @@ if(BUILD_CAFFE_PARSER)
-
- target_link_libraries(armnnCaffeParser armnn)
- target_link_libraries(armnnCaffeParser ${PROTOBUF_LIBRARIES})
-+ set_target_properties(armnnCaffeParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
-
- endif()
-
-@@ -119,6 +120,7 @@ if(BUILD_ONNX_PARSER)
-
- # Protobuf
- target_link_libraries(armnnOnnxParser ${PROTOBUF_LIBRARIES})
-+ set_target_properties(armnnOnnxParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
- endif()
-
- if(BUILD_TF_PARSER)
-@@ -142,6 +144,7 @@ if(BUILD_TF_PARSER)
-
- # Protobuf (use the specific version tensorflow wants)
- target_link_libraries(armnnTfParser ${PROTOBUF_LIBRARIES})
-+ set_target_properties(armnnTfParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
- endif()
-
- if(BUILD_ARMNN_QUANTIZER AND ARMNNREF)
-@@ -473,6 +476,7 @@ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- target_link_libraries(armnn ${Boost_LOG_LIBRARY} ${Boost_THREAD_LIBRARY}
- ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
-+set_target_properties(armnn PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
-
- if(ARMCOMPUTENEON OR ARMCOMPUTECL)
- target_link_libraries(armnn ${ARMCOMPUTE_LIBRARIES})
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0005-add-armnn-mobilenet-test-example.patch b/meta-arago-extras/recipes-support/armnn/armnn/0005-add-armnn-mobilenet-test-example.patch
deleted file mode 100644
index edb37fb..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0005-add-armnn-mobilenet-test-example.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 99a6c339f1828d3cd1b193cf702bada9011d900b Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Mon, 24 Jun 2019 14:29:19 -0400
-Subject: [PATCH] add armnn mobilenet test example
-
-Upstream-Status: Inappropriate [TI only test code]
-Signed-off-by: Qin Su <qsu@ti.com>
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- tests/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 41 insertions(+)
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index dfcf4b48..5a78d3a6 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -1,3 +1,6 @@
-+find_package( OpenCV REQUIRED )
-+include_directories( ${OpenCV_INCLUDE_DIRS} )
-+
- # UnitTests
- include(CheckIncludeFiles)
-
-@@ -348,3 +351,41 @@ if(BUILD_ARMNN_QUANTIZER)
- add_executable_ex(ImageCSVFileGenerator ${ImageCSVFileGenerator_sources})
- ImageTensorExecutor(ImageCSVFileGenerator)
- endif()
-+
-+if (BUILD_ARMNN_EXAMPLES)
-+ set(ArmnnExamples_sources
-+ ArmnnExamples/ArmnnExamples.cpp)
-+
-+ add_executable_ex(ArmnnExamples ${ArmnnExamples_sources})
-+
-+ target_include_directories(ArmnnExamples PRIVATE ../src/armnnUtils)
-+ target_include_directories(ArmnnExamples PRIVATE ../src/armnn)
-+ target_include_directories(ArmnnExamples PRIVATE ../src/backends)
-+
-+ if (BUILD_CAFFE_PARSER)
-+ target_link_libraries(ArmnnExamples armnnCaffeParser)
-+ endif()
-+ if (BUILD_TF_PARSER)
-+ target_link_libraries(ArmnnExamples armnnTfParser)
-+ endif()
-+
-+ if (BUILD_TF_LITE_PARSER)
-+ target_link_libraries(ArmnnExamples armnnTfLiteParser)
-+ endif()
-+ if (BUILD_ONNX_PARSER)
-+ target_link_libraries(ArmnnExamples armnnOnnxParser)
-+ endif()
-+
-+ target_link_libraries(ArmnnExamples armnn)
-+ target_link_libraries(ArmnnExamples ${CMAKE_THREAD_LIBS_INIT})
-+ if(OPENCL_LIBRARIES)
-+ target_link_libraries(ArmnnExamples ${OPENCL_LIBRARIES})
-+ endif()
-+
-+ target_link_libraries(ArmnnExamples
-+ ${Boost_SYSTEM_LIBRARY}
-+ ${Boost_FILESYSTEM_LIBRARY}
-+ ${Boost_PROGRAM_OPTIONS_LIBRARY}
-+ ${OpenCV_LIBS})
-+ addDllCopyCommands(ArmnnExamples)
-+endif()
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0006-armnn-mobilenet-test-example.patch b/meta-arago-extras/recipes-support/armnn/armnn/0006-armnn-mobilenet-test-example.patch
deleted file mode 100644
index 5498410..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0006-armnn-mobilenet-test-example.patch
+++ /dev/null
@@ -1,675 +0,0 @@
-From 4d5e7db268a4f816e24449e8ad011e35890f0c7e Mon Sep 17 00:00:00 2001
-From: Qin Su <qsu@ti.com>
-Date: Fri, 22 Feb 2019 13:39:09 -0500
-Subject: [PATCH] armnn mobilenet test example
-
-Upstream-Status: Inappropriate [TI only test code]
-Signed-off-by: Qin Su <qsu@ti.com>
----
- tests/ArmnnExamples/ArmnnExamples.cpp | 654 ++++++++++++++++++++++++++++++++++
- 1 file changed, 654 insertions(+)
- create mode 100644 tests/ArmnnExamples/ArmnnExamples.cpp
-
-diff --git a/tests/ArmnnExamples/ArmnnExamples.cpp b/tests/ArmnnExamples/ArmnnExamples.cpp
-new file mode 100644
-index 0000000..53a11cc
---- /dev/null
-+++ b/tests/ArmnnExamples/ArmnnExamples.cpp
-@@ -0,0 +1,654 @@
-+/******************************************************************************
-+ * Copyright (c) 2018, Texas Instruments Incorporated - http://www.ti.com/
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions are met:
-+ * * Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * * Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * * Neither the name of Texas Instruments Incorporated nor the
-+ * names of its contributors may be used to endorse or promote products
-+ * derived from this software without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-+ * THE POSSIBILITY OF SUCH DAMAGE.
-+ *****************************************************************************///
-+// Copyright © 2017 Arm Ltd. All rights reserved.
-+// See LICENSE file in the project root for full license information.
-+//
-+#include <armnn/ArmNN.hpp>
-+
-+#include <utility>
-+#include <armnn/TypesUtils.hpp>
-+
-+#if defined(ARMNN_CAFFE_PARSER)
-+#include "armnnCaffeParser/ICaffeParser.hpp"
-+#endif
-+#if defined(ARMNN_TF_PARSER)
-+#include "armnnTfParser/ITfParser.hpp"
-+#endif
-+#if defined(ARMNN_TF_LITE_PARSER)
-+#include "armnnTfLiteParser/ITfLiteParser.hpp"
-+#endif
-+#if defined(ARMNN_ONNX_PARSER)
-+#include "armnnOnnxParser/IOnnxParser.hpp"
-+#endif
-+#include "CsvReader.hpp"
-+#include "../InferenceTest.hpp"
-+#include <Logging.hpp>
-+#include <Profiling.hpp>
-+
-+#include <boost/algorithm/string/trim.hpp>
-+#include <boost/algorithm/string/split.hpp>
-+#include <boost/algorithm/string/classification.hpp>
-+#include <boost/program_options.hpp>
-+
-+#include <iostream>
-+#include <fstream>
-+#include <functional>
-+#include <future>
-+#include <algorithm>
-+#include <iterator>
-+#include<vector>
-+
-+#include <signal.h>
-+#include "opencv2/core.hpp"
-+#include "opencv2/imgproc.hpp"
-+#include "opencv2/highgui.hpp"
-+#include "opencv2/videoio.hpp"
-+#include <time.h>
-+
-+using namespace cv;
-+
-+#define INPUT_IMAGE 0
-+#define INPUT_VIDEO 1
-+#define INPUT_CAMERA 2
-+
-+Mat test_image;
-+Rect rectCrop;
-+
-+time_point<high_resolution_clock> predictStart;
-+time_point<high_resolution_clock> predictEnd;
-+
-+void imagenetCallBackFunc(int event, int x, int y, int flags, void* userdata)
-+{
-+ if ( event == EVENT_RBUTTONDOWN )
-+ {
-+ std::cout << "Right button of the mouse is clicked - position (" << x << ", " << y << ")" << " ... prepare to exit!" << std::endl;
-+ exit(0);
-+ }
-+}
-+
-+inline float Lerpfloat(float a, float b, float w)
-+{
-+ return w * b + (1.f - w) * a;
-+}
-+
-+// Load a single image
-+struct ImageData
-+{
-+ unsigned int m_width;
-+ unsigned int m_height;
-+ unsigned int m_chnum;
-+ unsigned int m_size;
-+ std::vector<uint8_t> m_image;
-+};
-+// Load a single image
-+std::unique_ptr<ImageData> loadImageData(std::string image_path, VideoCapture &cap, cv::Mat img, int input_type)
-+{
-+ //cv::Mat img;
-+ if (input_type == INPUT_IMAGE)
-+ {
-+ /* use OpenCV to get the image */
-+ img = cv::imread(image_path, CV_LOAD_IMAGE_COLOR);
-+ }
-+ cv::cvtColor(img, img, CV_BGR2RGB); //convert image format from BGR(openCV format) to RGB (armnn required format).
-+
-+ // store image and label in output Image
-+ std::unique_ptr<ImageData> ret(new ImageData);
-+ ret->m_width = static_cast<unsigned int>(img.cols);
-+ ret->m_height = static_cast<unsigned int>(img.rows);
-+ ret->m_chnum = static_cast<unsigned int>(img.channels());
-+ ret->m_size = static_cast<unsigned int>(img.cols*img.rows*img.channels());
-+ ret->m_image.resize(ret->m_size);
-+
-+ for (unsigned int i = 0; i < ret->m_size; i++)
-+ {
-+ ret->m_image[i] = static_cast<uint8_t>(img.data[i]);
-+ }
-+ return ret;
-+}
-+// to resize input tensor size
-+std::vector<float> ResizeBilinear(std::vector<uint8_t> input,
-+ const unsigned int inWidth,
-+ const unsigned int inHeight,
-+ const unsigned int inChnum,
-+ const unsigned int outputWidth,
-+ const unsigned int outputHeight)
-+{
-+ std::vector<float> out;
-+ out.resize(outputWidth * outputHeight * 3);
-+
-+ // We follow the definition of TensorFlow and AndroidNN: the top-left corner of a texel in the output
-+ // image is projected into the input image to figure out the interpolants and weights. Note that this
-+ // will yield different results than if projecting the centre of output texels.
-+
-+ const unsigned int inputWidth = inWidth;
-+ const unsigned int inputHeight = inHeight;
-+
-+ // How much to scale pixel coordinates in the output image to get the corresponding pixel coordinates
-+ // in the input image.
-+ const float scaleY = boost::numeric_cast<float>(inputHeight) / boost::numeric_cast<float>(outputHeight);
-+ const float scaleX = boost::numeric_cast<float>(inputWidth) / boost::numeric_cast<float>(outputWidth);
-+
-+ uint8_t rgb_x0y0[3];
-+ uint8_t rgb_x1y0[3];
-+ uint8_t rgb_x0y1[3];
-+ uint8_t rgb_x1y1[3];
-+ unsigned int pixelOffset00, pixelOffset10, pixelOffset01, pixelOffset11;
-+ for (unsigned int y = 0; y < outputHeight; ++y)
-+ {
-+ // Corresponding real-valued height coordinate in input image.
-+ const float iy = boost::numeric_cast<float>(y) * scaleY;
-+ // Discrete height coordinate of top-left texel (in the 2x2 texel area used for interpolation).
-+ const float fiy = floorf(iy);
-+ const unsigned int y0 = boost::numeric_cast<unsigned int>(fiy);
-+
-+ // Interpolation weight (range [0,1])
-+ const float yw = iy - fiy;
-+
-+ for (unsigned int x = 0; x < outputWidth; ++x)
-+ {
-+ // Real-valued and discrete width coordinates in input image.
-+ const float ix = boost::numeric_cast<float>(x) * scaleX;
-+ const float fix = floorf(ix);
-+ const unsigned int x0 = boost::numeric_cast<unsigned int>(fix);
-+
-+ // Interpolation weight (range [0,1]).
-+ const float xw = ix - fix;
-+
-+ // Discrete width/height coordinates of texels below and to the right of (x0, y0).
-+ const unsigned int x1 = std::min(x0 + 1, inputWidth - 1u);
-+ const unsigned int y1 = std::min(y0 + 1, inputHeight - 1u);
-+
-+ pixelOffset00 = x0 * inChnum + y0 * inputWidth * inChnum;
-+ pixelOffset10 = x1 * inChnum + y0 * inputWidth * inChnum;
-+ pixelOffset01 = x0 * inChnum + y1 * inputWidth * inChnum;
-+ pixelOffset11 = x1 * inChnum + y1 * inputWidth * inChnum;
-+ for (unsigned int c = 0; c < 3; ++c)
-+ {
-+ rgb_x0y0[c] = input[pixelOffset00+c];
-+ rgb_x1y0[c] = input[pixelOffset10+c];
-+ rgb_x0y1[c] = input[pixelOffset01+c];
-+ rgb_x1y1[c] = input[pixelOffset11+c];
-+ }
-+
-+ for (unsigned c=0; c<3; ++c)
-+ {
-+ const float ly0 = Lerpfloat(float(rgb_x0y0[c]), float(rgb_x1y0[c]), xw);
-+ const float ly1 = Lerpfloat(float(rgb_x0y1[c]), float(rgb_x1y1[c]), xw);
-+ const float l = Lerpfloat(ly0, ly1, yw);
-+ out[(3*((y*outputWidth)+x)) + c] = static_cast<float>(l)/255.0f;
-+ }
-+ }
-+ }
-+ return out;
-+}
-+
-+namespace
-+{
-+
-+ // Configure boost::program_options for command-line parsing and validation.
-+ namespace po = boost::program_options;
-+
-+ template<typename T, typename TParseElementFunc>
-+ std::vector<T> ParseArrayImpl(std::istream& stream, TParseElementFunc parseElementFunc)
-+ {
-+ std::vector<T> result;
-+ // Processes line-by-line.
-+ std::string line;
-+ while (std::getline(stream, line))
-+ {
-+ std::vector<std::string> tokens;
-+ try
-+ {
-+ // Coverity fix: boost::split() may throw an exception of type boost::bad_function_call.
-+ boost::split(tokens, line, boost::algorithm::is_any_of("\t ,;:"), boost::token_compress_on);
-+ }
-+ catch (const std::exception& e)
-+ {
-+ BOOST_LOG_TRIVIAL(error) << "An error occurred when splitting tokens: " << e.what();
-+ continue;
-+ }
-+ for (const std::string& token : tokens)
-+ {
-+ if (!token.empty())
-+ {
-+ try
-+ {
-+ result.push_back(parseElementFunc(token));
-+ }
-+ catch (const std::exception&)
-+ {
-+ BOOST_LOG_TRIVIAL(error) << "'" << token << "' is not a valid number. It has been ignored.";
-+ }
-+ }
-+ }
-+ }
-+
-+ return result;
-+ }
-+
-+ template<typename T>
-+ std::vector<T> ParseArray(std::istream& stream);
-+ template<>
-+ std::vector<unsigned int> ParseArray(std::istream& stream)
-+ {
-+ return ParseArrayImpl<unsigned int>(stream,
-+ [](const std::string& s) { return boost::numeric_cast<unsigned int>(std::stoi(s)); });
-+ }
-+ void RemoveDuplicateDevices(std::vector<armnn::BackendId>& computeDevices)
-+ {
-+ // Mark the duplicate devices as 'Undefined'.
-+ for (auto i = computeDevices.begin(); i != computeDevices.end(); ++i)
-+ {
-+ for (auto j = std::next(i); j != computeDevices.end(); ++j)
-+ {
-+ if (*j == *i)
-+ {
-+ *j = armnn::Compute::Undefined;
-+ }
-+ }
-+ }
-+
-+ // Remove 'Undefined' devices.
-+ computeDevices.erase(std::remove(computeDevices.begin(), computeDevices.end(), armnn::Compute::Undefined),
-+ computeDevices.end());
-+ }
-+} // namespace
-+
-+template<typename TParser, typename TDataType>
-+int MainImpl(const char* modelPath,
-+ bool isModelBinary,
-+ const std::vector<armnn::BackendId>& computeDevices,
-+ const char* inputName,
-+ const armnn::TensorShape* inputTensorShape,
-+ const char* inputTensorDataFilePath,
-+ const char* outputName,
-+ bool enableProfiling,
-+ const size_t number_frame,
-+ const std::shared_ptr<armnn::IRuntime>& runtime = nullptr)
-+{
-+ // Loads input tensor.
-+ std::vector<uint8_t> input;
-+ std::vector<float> input_resized;
-+ using TContainer = boost::variant<std::vector<float>, std::vector<int>, std::vector<unsigned char>>;
-+
-+ try
-+ {
-+ // Creates an InferenceModel, which will parse the model and load it into an IRuntime.
-+ typename InferenceModel<TParser, TDataType>::Params params;
-+ //const armnn::TensorShape inputTensorShape({ 1, 224, 224 3});
-+
-+ params.m_ModelPath = modelPath;
-+ params.m_IsModelBinary = isModelBinary;
-+ params.m_ComputeDevices = computeDevices;
-+ params.m_InputBindings = { inputName };
-+ params.m_InputShapes = { *inputTensorShape };
-+ params.m_OutputBindings = { outputName };
-+ //params.m_EnableProfiling = enableProfiling;
-+ params.m_SubgraphId = 0;
-+ InferenceModel<TParser, TDataType> model(params, enableProfiling, runtime);
-+
-+ VideoCapture cap;
-+ int input_type = INPUT_IMAGE;
-+ std::string filename = inputTensorDataFilePath;
-+
-+ size_t i = filename.rfind("camera_live_input", filename.length());
-+ if (i != string::npos)
-+ {
-+ cap = VideoCapture(1);
-+ namedWindow("ARMNN MobileNet Example", WINDOW_AUTOSIZE | CV_GUI_NORMAL);
-+ input_type = INPUT_CAMERA; //camera input
-+ }
-+ else if((filename.substr(filename.find_last_of(".") + 1) == "mp4") ||
-+ (filename.substr(filename.find_last_of(".") + 1) == "mov") ||
-+ (filename.substr(filename.find_last_of(".") + 1) == "avi") )
-+ {
-+ cap = VideoCapture(inputTensorDataFilePath);
-+ if (! cap.isOpened())
-+ {
-+ std::cout << "Cannot open video input: " << inputTensorDataFilePath << std::endl;
-+ return (-1);
-+ }
-+
-+ namedWindow("ARMNN MobileNet Example", WINDOW_AUTOSIZE | CV_GUI_NORMAL);
-+ input_type = INPUT_VIDEO; //video clip input
-+ }
-+ if (input_type != INPUT_IMAGE)
-+ {
-+ //set the callback function for any mouse event. Used for right click mouse to exit the program.
-+ setMouseCallback("ARMNN MobileNet Example", imagenetCallBackFunc, NULL);
-+ }
-+
-+ for (unsigned int i=0; i < number_frame; i++)
-+ {
-+ if (input_type != INPUT_IMAGE)
-+ {
-+ cap.grab();
-+ cap.retrieve(test_image);
-+ }
-+ std::unique_ptr<ImageData> inputData = loadImageData(inputTensorDataFilePath, cap, test_image, input_type);
-+ input.resize(inputData->m_size);
-+
-+ input = std::move(inputData->m_image);
-+ input_resized = ResizeBilinear(input, inputData->m_width, inputData->m_height, inputData->m_chnum, 224, 224);
-+
-+ // Set up input data container
-+ std::vector<TContainer> inputDataContainer(1, std::move(input_resized));
-+
-+ // Set up output data container
-+ std::vector<TContainer> outputDataContainers;
-+ outputDataContainers.push_back(std::vector<float>(model.GetOutputSize()));
-+
-+ //profile start
-+ predictStart = high_resolution_clock::now();
-+ // Execute model
-+ model.Run(inputDataContainer, outputDataContainers);
-+ //profile end
-+ predictEnd = high_resolution_clock::now();
-+
-+ double timeTakenS = duration<double>(predictEnd - predictStart).count();
-+ double preformance_ret = static_cast<double>(1.0/timeTakenS);
-+
-+ //retrieve output
-+ std::vector<float>& outputData = (boost::get<std::vector<float>>(outputDataContainers[0]));
-+ //output TOP predictions
-+ std::string predict_target_name;
-+ // find the out with the highest confidence
-+ int label = static_cast<int>(std::distance(outputData.begin(), std::max_element(outputData.begin(), outputData.end())));
-+ std::fstream file("/usr/share/arm/armnn/models/labels.txt");
-+ //std::string predict_target_name;
-+ for (int i=0; i <= label; i++)
-+ {
-+ std::getline(file, predict_target_name);
-+ }
-+ //get the probability of the top prediction
-+ float prob = 100*outputData.data()[label];
-+ //clean the top one so as to find the second top prediction
-+ outputData.data()[label] = 0;
-+ std::cout << "Top(1) prediction is " << predict_target_name << " with confidence: " << prob << "%" << std::endl;
-+ //output next TOP 4 predictions
-+ for (int ii=1; ii<5; ii++)
-+ {
-+ std::string predict_target_name_n;
-+ // find the out with the highest confidence
-+ int label = static_cast<int>(std::distance(outputData.begin(), std::max_element(outputData.begin(), outputData.end())));
-+ std::fstream file("/usr/share/arm/armnn/models/labels.txt");
-+ //std::string predict_target_name;
-+ for (int i=0; i <= label; i++)
-+ {
-+ std::getline(file, predict_target_name_n);
-+ }
-+ //get the probability of the prediction
-+ float prob = 100*outputData.data()[label];
-+ //clean the top one so as to find the second top prediction
-+ outputData.data()[label] = 0;
-+
-+ std::cout << "Top(" << (ii+1) << ") prediction is " << predict_target_name_n << " with confidence: " << prob << "%" << std::endl;
-+ }
-+ std::cout << "Performance (FPS): " << preformance_ret << std::endl;
-+
-+ if (input_type != INPUT_IMAGE)
-+ {
-+ //convert image format back to BGR for OpenCV imshow from RGB format required by armnn.
-+ cv::cvtColor(test_image, test_image, CV_RGB2BGR);
-+ // output identified object name on top of input image
-+ cv::putText(test_image, predict_target_name,
-+ cv::Point(rectCrop.x + 5,rectCrop.y + 20), // Coordinates
-+ cv::FONT_HERSHEY_COMPLEX_SMALL, // Font
-+ 1.0, // Scale. 2.0 = 2x bigger
-+ cv::Scalar(0,0,255), // Color
-+ 1, // Thickness
-+ 8); // Line type
-+
-+ // output preformance in FPS on top of input image
-+ std::string preformance_ret_string = "Performance (FPS): " + boost::lexical_cast<std::string>(preformance_ret);
-+ cv::putText(test_image, preformance_ret_string,
-+ cv::Point(rectCrop.x + 5,rectCrop.y + 40), // Coordinates
-+ cv::FONT_HERSHEY_COMPLEX_SMALL, // Font
-+ 1.0, // Scale. 2.0 = 2x bigger
-+ cv::Scalar(0,0,255), // Color
-+ 1, // Thickness
-+ 8); // Line type
-+
-+ cv::imshow("ARMNN MobileNet Example", test_image);
-+ waitKey(2);
-+ }
-+ }
-+ }
-+ catch (armnn::Exception const& e)
-+ {
-+ BOOST_LOG_TRIVIAL(fatal) << "Armnn Error: " << e.what();
-+ return EXIT_FAILURE;
-+ }
-+ return EXIT_SUCCESS;
-+}
-+
-+// This will run a test
-+int RunTest(const std::string& modelFormat,
-+ const std::string& inputTensorShapeStr,
-+ const vector<armnn::BackendId>& computeDevice,
-+ const std::string& modelPath,
-+ const std::string& inputName,
-+ const std::string& inputTensorDataFilePath,
-+ const std::string& outputName,
-+ bool enableProfiling,
-+ const size_t subgraphId,
-+ const std::shared_ptr<armnn::IRuntime>& runtime = nullptr)
-+{
-+ // Parse model binary flag from the model-format string we got from the command-line
-+ bool isModelBinary;
-+ if (modelFormat.find("bin") != std::string::npos)
-+ {
-+ isModelBinary = true;
-+ }
-+ else if (modelFormat.find("txt") != std::string::npos || modelFormat.find("text") != std::string::npos)
-+ {
-+ isModelBinary = false;
-+ }
-+ else
-+ {
-+ BOOST_LOG_TRIVIAL(fatal) << "Unknown model format: '" << modelFormat << "'. Please include 'binary' or 'text'";
-+ return EXIT_FAILURE;
-+ }
-+
-+ // Parse input tensor shape from the string we got from the command-line.
-+ std::unique_ptr<armnn::TensorShape> inputTensorShape;
-+ if (!inputTensorShapeStr.empty())
-+ {
-+ std::stringstream ss(inputTensorShapeStr);
-+ std::vector<unsigned int> dims = ParseArray<unsigned int>(ss);
-+ try
-+ {
-+ // Coverity fix: An exception of type armnn::InvalidArgumentException is thrown and never caught.
-+ inputTensorShape = std::make_unique<armnn::TensorShape>(dims.size(), dims.data());
-+ }
-+ catch (const armnn::InvalidArgumentException& e)
-+ {
-+ BOOST_LOG_TRIVIAL(fatal) << "Cannot create tensor shape: " << e.what();
-+ return EXIT_FAILURE;
-+ }
-+ }
-+ // Forward to implementation based on the parser type
-+ if (modelFormat.find("caffe") != std::string::npos)
-+ {
-+#if defined(ARMNN_CAFFE_PARSER)
-+ return MainImpl<armnnCaffeParser::ICaffeParser, float>(modelPath.c_str(), isModelBinary, computeDevice,
-+ inputName.c_str(), inputTensorShape.get(),
-+ inputTensorDataFilePath.c_str(), outputName.c_str(),
-+ enableProfiling, subgraphId, runtime);
-+#else
-+ BOOST_LOG_TRIVIAL(fatal) << "Not built with Caffe parser support.";
-+ return EXIT_FAILURE;
-+#endif
-+ }
-+ else if (modelFormat.find("onnx") != std::string::npos)
-+ {
-+#if defined(ARMNN_ONNX_PARSER)
-+ return MainImpl<armnnOnnxParser::IOnnxParser, float>(modelPath.c_str(), isModelBinary, computeDevice,
-+ inputName.c_str(), inputTensorShape.get(),
-+ inputTensorDataFilePath.c_str(), outputName.c_str(),
-+ enableProfiling, subgraphId, runtime);
-+#else
-+ BOOST_LOG_TRIVIAL(fatal) << "Not built with Onnx parser support.";
-+ return EXIT_FAILURE;
-+#endif
-+ }
-+ else if (modelFormat.find("tensorflow") != std::string::npos)
-+ {
-+#if defined(ARMNN_TF_PARSER)
-+ return MainImpl<armnnTfParser::ITfParser, float>(modelPath.c_str(), isModelBinary, computeDevice,
-+ inputName.c_str(), inputTensorShape.get(),
-+ inputTensorDataFilePath.c_str(), outputName.c_str(),
-+ enableProfiling, subgraphId, runtime);
-+#else
-+ BOOST_LOG_TRIVIAL(fatal) << "Not built with Tensorflow parser support.";
-+ return EXIT_FAILURE;
-+#endif
-+ }
-+ else if(modelFormat.find("tflite") != std::string::npos)
-+ {
-+#if defined(ARMNN_TF_LITE_PARSER)
-+ if (! isModelBinary)
-+ {
-+ BOOST_LOG_TRIVIAL(fatal) << "Unknown model format: '" << modelFormat << "'. Only 'binary' format supported \
-+ for tflite files";
-+ return EXIT_FAILURE;
-+ }
-+ return MainImpl<armnnTfLiteParser::ITfLiteParser, float>(modelPath.c_str(), isModelBinary, computeDevice,
-+ inputName.c_str(), inputTensorShape.get(),
-+ inputTensorDataFilePath.c_str(), outputName.c_str(),
-+ enableProfiling, subgraphId, runtime);
-+#else
-+ BOOST_LOG_TRIVIAL(fatal) << "Unknown model format: '" << modelFormat <<
-+ "'. Please include 'caffe', 'tensorflow', 'tflite' or 'onnx'";
-+ return EXIT_FAILURE;
-+#endif
-+ }
-+ else
-+ {
-+ BOOST_LOG_TRIVIAL(fatal) << "Unknown model format: '" << modelFormat <<
-+ "'. Please include 'caffe', 'tensorflow', 'tflite' or 'onnx'";
-+ return EXIT_FAILURE;
-+ }
-+}
-+
-+int main(int argc, const char* argv[])
-+{
-+ // Configures logging for both the ARMNN library and this test program.
-+#ifdef NDEBUG
-+ armnn::LogSeverity level = armnn::LogSeverity::Info;
-+#else
-+ armnn::LogSeverity level = armnn::LogSeverity::Debug;
-+#endif
-+ armnn::ConfigureLogging(true, true, level);
-+ armnnUtils::ConfigureLogging(boost::log::core::get().get(), true, true, level);
-+
-+ std::string testCasesFile;
-+
-+ std::string modelFormat = "tensorflow-binary";
-+ std::string modelPath = "/usr/share/arm/armnn/models/mobilenet_v1_1.0_224_frozen.pb";
-+ std::string inputName = "input";
-+ std::string inputTensorShapeStr = "1 224 224 3";
-+ std::string inputTensorDataFilePath = "/usr/share/arm/armnn/testvecs/test2.mp4";
-+ std::string outputName = "MobilenetV1/Predictions/Reshape_1";
-+ std::vector<armnn::BackendId> computeDevices = {armnn::Compute::CpuAcc};
-+ // Catch ctrl-c to ensure a clean exit
-+ signal(SIGABRT, exit);
-+ signal(SIGTERM, exit);
-+
-+ if (argc == 1)
-+ {
-+ return RunTest(modelFormat, inputTensorShapeStr, computeDevices,
-+ modelPath, inputName, inputTensorDataFilePath, outputName, false, 1000);
-+ }
-+ else
-+ {
-+ size_t subgraphId = 0;
-+ po::options_description desc("Options");
-+ try
-+ {
-+ desc.add_options()
-+ ("help", "Display usage information")
-+ ("test-cases,t", po::value(&testCasesFile), "Path to a CSV file containing test cases to run. "
-+ "If set, further parameters -- with the exception of compute device and concurrency -- will be ignored, "
-+ "as they are expected to be defined in the file for each test in particular.")
-+ ("concurrent,n", po::bool_switch()->default_value(false),
-+ "Whether or not the test cases should be executed in parallel")
-+ ("model-format,f", po::value(&modelFormat),
-+ "caffe-binary, caffe-text, onnx-binary, onnx-text, tflite-binary, tensorflow-binary or tensorflow-text.")
-+ ("model-path,m", po::value(&modelPath), "Path to model file, e.g. .caffemodel, .prototxt,"
-+ " .tflite, .onnx")
-+ ("compute,c", po::value<std::vector<armnn::BackendId>>()->multitoken(),
-+ "The preferred order of devices to run layers on by default. Possible choices: CpuAcc, CpuRef, GpuAcc")
-+ ("input-name,i", po::value(&inputName), "Identifier of the input tensor in the network.")
-+ ("input-tensor-shape,s", po::value(&inputTensorShapeStr),
-+ "The shape of the input tensor in the network as a flat array of integers separated by whitespace. "
-+ "This parameter is optional, depending on the network.")
-+ ("input-tensor-data,d", po::value(&inputTensorDataFilePath),
-+ "Input test file name. It can be image/video clip file name or use 'camera_live_input' to select camera input.")
-+ ("output-name,o", po::value(&outputName), "Identifier of the output tensor in the network.")
-+ ("event-based-profiling,e", po::bool_switch()->default_value(false),
-+ "Enables built in profiler. If unset, defaults to off.")
-+ ("number_frame", po::value<size_t>(&subgraphId)->default_value(1), "Number of frames to process.");
-+ }
-+ catch (const std::exception& e)
-+ {
-+ // Coverity points out that default_value(...) can throw a bad_lexical_cast,
-+ // and that desc.add_options() can throw boost::io::too_few_args.
-+ // They really won't in any of these cases.
-+ BOOST_ASSERT_MSG(false, "Caught unexpected exception");
-+ BOOST_LOG_TRIVIAL(fatal) << "Fatal internal error: " << e.what();
-+ return EXIT_FAILURE;
-+ }
-+
-+ // Parses the command-line.
-+ po::variables_map vm;
-+ try
-+ {
-+ po::store(po::parse_command_line(argc, argv, desc), vm);
-+ po::notify(vm);
-+ }
-+ catch (const po::error& e)
-+ {
-+ std::cerr << e.what() << std::endl << std::endl;
-+ std::cerr << desc << std::endl;
-+ return EXIT_FAILURE;
-+ }
-+
-+ // Run single test
-+ // Get the preferred order of compute devices.
-+ std::vector<armnn::BackendId> computeDevices = vm["compute"].as<std::vector<armnn::BackendId>>();
-+ bool enableProfiling = vm["event-based-profiling"].as<bool>();
-+
-+ // Remove duplicates from the list of compute devices.
-+ RemoveDuplicateDevices(computeDevices);
-+
-+ return RunTest(modelFormat, inputTensorShapeStr, computeDevices,
-+ modelPath, inputName, inputTensorDataFilePath, outputName, enableProfiling, subgraphId);
-+ }
-+}
-+
---
-1.9.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0007-enable-use-of-arm-compute-shared-library.patch b/meta-arago-extras/recipes-support/armnn/armnn/0007-enable-use-of-arm-compute-shared-library.patch
deleted file mode 100644
index 7d0d7e5..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0007-enable-use-of-arm-compute-shared-library.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 38e8e4bc03a4c1ee801f6af50be94ccd971bf3eb Mon Sep 17 00:00:00 2001
-From: Qin Su <qsu@ti.com>
-Date: Tue, 27 Nov 2018 18:15:49 -0500
-Subject: [PATCH] enable use of arm compute shared library
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Qin Su <qsu@ti.com>
----
- cmake/GlobalConfig.cmake | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
-index 491d87a..4cf40a2 100644
---- a/cmake/GlobalConfig.cmake
-+++ b/cmake/GlobalConfig.cmake
-@@ -285,6 +285,11 @@ if(ARMCOMPUTENEON OR ARMCOMPUTECL)
- find_library(ARMCOMPUTE_CORE_LIBRARY_DEBUG NAMES arm_compute_core-static)
- find_library(ARMCOMPUTE_CORE_LIBRARY_RELEASE NAMES arm_compute_core-static)
-
-+ find_library(ARMCOMPUTE_LIBRARY_DEBUG NAMES arm_compute)
-+ find_library(ARMCOMPUTE_LIBRARY_RELEASE NAMES arm_compute)
-+ find_library(ARMCOMPUTE_CORE_LIBRARY_DEBUG NAMES arm_compute_core)
-+ find_library(ARMCOMPUTE_CORE_LIBRARY_RELEASE NAMES arm_compute_core)
-+
- set(ARMCOMPUTE_LIBRARIES
- debug ${ARMCOMPUTE_LIBRARY_DEBUG} ${ARMCOMPUTE_CORE_LIBRARY_DEBUG}
- optimized ${ARMCOMPUTE_LIBRARY_RELEASE} ${ARMCOMPUTE_CORE_LIBRARY_RELEASE} )
---
-1.9.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0008-Avoid-stringop-overflow-warning-resulting-in-compila.patch b/meta-arago-extras/recipes-support/armnn/armnn/0008-Avoid-stringop-overflow-warning-resulting-in-compila.patch
deleted file mode 100644
index 023766a..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0008-Avoid-stringop-overflow-warning-resulting-in-compila.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4f5d63b026f225f6499e0a401d9b2769e8ef0a80 Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Wed, 12 Jun 2019 13:12:09 -0400
-Subject: [PATCH] Avoid stringop-overflow warning resulting in compilation
- error
-
-Upstream-Status: Inappropriate [TI only test code]
-
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- src/armnn/LayerSupport.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/armnn/LayerSupport.cpp b/src/armnn/LayerSupport.cpp
-index 12b3c403..09c973e5 100644
---- a/src/armnn/LayerSupport.cpp
-+++ b/src/armnn/LayerSupport.cpp
-@@ -25,6 +25,8 @@ void CopyErrorMessage(char* truncatedString, const char* fullString, size_t maxL
- if(truncatedString != nullptr)
- {
- size_t copyLength = std::min(maxLength, strlen(fullString));
-+ if(copyLength > 255) copyLength = 255; //Put source length independent upper bound
-+
- std::strncpy(truncatedString, fullString, copyLength);
- // Ensure null-terminated string.
- truncatedString[copyLength] = '\0';
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0009-command-line-options-for-video-port-selection.patch b/meta-arago-extras/recipes-support/armnn/armnn/0009-command-line-options-for-video-port-selection.patch
deleted file mode 100644
index d0485a8..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0009-command-line-options-for-video-port-selection.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From ee152f3b68f91c5fff336306d011becdcf3a6b17 Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Sat, 24 Aug 2019 17:58:38 -0400
-Subject: [PATCH] command line options for video port selection
-
-- Add command line selection <0|1|2|3> of video port used for live camera input
-
-Upstream-Status: Inappropriate [TI only test code]
-
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- tests/ArmnnExamples/ArmnnExamples.cpp | 23 ++++++++++++++++++++---
- 1 file changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/tests/ArmnnExamples/ArmnnExamples.cpp b/tests/ArmnnExamples/ArmnnExamples.cpp
-index 638fc145..d1526539 100644
---- a/tests/ArmnnExamples/ArmnnExamples.cpp
-+++ b/tests/ArmnnExamples/ArmnnExamples.cpp
-@@ -316,10 +316,27 @@ int MainImpl(const char* modelPath,
- int input_type = INPUT_IMAGE;
- std::string filename = inputTensorDataFilePath;
-
-- size_t i = filename.rfind("camera_live_input", filename.length());
-+ size_t i = filename.rfind("camera_live_input", filename.length());
- if (i != string::npos)
- {
-- cap = VideoCapture(1);
-+ int vport = 1;
-+ size_t loc_i = filename.rfind("camera_live_input0", filename.length());
-+ if(loc_i != string::npos) vport = 0;
-+ else {
-+ loc_i = filename.rfind("camera_live_input1", filename.length());
-+ if(loc_i != string::npos) vport = 1;
-+ else {
-+ loc_i = filename.rfind("camera_live_input2", filename.length());
-+ if(loc_i != string::npos) vport = 2;
-+ else {
-+ loc_i = filename.rfind("camera_live_input3", filename.length());
-+ if(loc_i != string::npos) vport = 3;
-+ else std::cout << "Setting ports beyond 3 not supported - using default!" << std::endl;
-+ }
-+ }
-+ }
-+ std::cout << "Using video" << vport << std::endl;
-+ cap = VideoCapture(vport);
- namedWindow("ARMNN MobileNet Example", WINDOW_AUTOSIZE | CV_GUI_NORMAL);
- input_type = INPUT_CAMERA; //camera input
- }
-@@ -609,7 +626,7 @@ int main(int argc, const char* argv[])
- "The shape of the input tensor in the network as a flat array of integers separated by whitespace. "
- "This parameter is optional, depending on the network.")
- ("input-tensor-data,d", po::value(&inputTensorDataFilePath),
-- "Input test file name. It can be image/video clip file name or use 'camera_live_input' to select camera input.")
-+ "Input test file name. It can be image/video clip file name or 'camera_live_input or camera_live_input<0|1|2|3>' to select camera input.")
- ("output-name,o", po::value(&outputName), "Identifier of the output tensor in the network.")
- ("event-based-profiling,e", po::bool_switch()->default_value(false),
- "Enables built in profiler. If unset, defaults to off.")
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0010-armnnexamples-update-for-19.08-modifications.patch b/meta-arago-extras/recipes-support/armnn/armnn/0010-armnnexamples-update-for-19.08-modifications.patch
deleted file mode 100644
index f75b1dc..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0010-armnnexamples-update-for-19.08-modifications.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a3e266a2de7c45116428f4e21645a2657534191b Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Mon, 26 Aug 2019 03:51:39 -0400
-Subject: [PATCH] armnnexamples: update for 19.08 modifications
-
-Upstream-Status: Inappropriate [TI only test code]
-
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- tests/ArmnnExamples/ArmnnExamples.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/ArmnnExamples/ArmnnExamples.cpp b/tests/ArmnnExamples/ArmnnExamples.cpp
-index d1526539..c10a4fc0 100644
---- a/tests/ArmnnExamples/ArmnnExamples.cpp
-+++ b/tests/ArmnnExamples/ArmnnExamples.cpp
-@@ -310,7 +310,7 @@ int MainImpl(const char* modelPath,
- params.m_OutputBindings = { outputName };
- //params.m_EnableProfiling = enableProfiling;
- params.m_SubgraphId = 0;
-- InferenceModel<TParser, TDataType> model(params, enableProfiling, runtime);
-+ InferenceModel<TParser, TDataType> model(params, enableProfiling, "", runtime);
-
- VideoCapture cap;
- int input_type = INPUT_IMAGE;
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0011-Generate-versioned-library-for-armnnTfLiteParser.patch b/meta-arago-extras/recipes-support/armnn/armnn/0011-Generate-versioned-library-for-armnnTfLiteParser.patch
deleted file mode 100644
index a504aa7..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0011-Generate-versioned-library-for-armnnTfLiteParser.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1f5670c6ef8669d7d25621d9c97d66178800dcf9 Mon Sep 17 00:00:00 2001
-From: Hongmei Gou <a0271529@ti.com>
-Date: Tue, 17 Sep 2019 17:58:39 -0400
-Subject: [PATCH] Generate versioned library for armnnTfLiteParser
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Hongmei Gou <a0271529@ti.com>
----
- src/armnnTfLiteParser/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/armnnTfLiteParser/CMakeLists.txt b/src/armnnTfLiteParser/CMakeLists.txt
-index 17d4cf68..c83f7059 100755
---- a/src/armnnTfLiteParser/CMakeLists.txt
-+++ b/src/armnnTfLiteParser/CMakeLists.txt
-@@ -24,4 +24,5 @@ if(BUILD_TF_LITE_PARSER)
- install(TARGETS armnnTfLiteParser
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+ set_target_properties(armnnTfLiteParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
- endif()
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0012-ArmnnExample-Fix-exception-for-help-command-line-opt.patch b/meta-arago-extras/recipes-support/armnn/armnn/0012-ArmnnExample-Fix-exception-for-help-command-line-opt.patch
deleted file mode 100644
index bdd1312..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0012-ArmnnExample-Fix-exception-for-help-command-line-opt.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 707ba3cba21c86d09cbb5f67ede565054b8c904d Mon Sep 17 00:00:00 2001
-From: Djordje Senicic <x0157990@ti.com>
-Date: Mon, 2 Dec 2019 16:56:27 -0500
-Subject: [PATCH] ArmnnExample: Fix exception for --help command line option
-
-Signed-off-by: Djordje Senicic <x0157990@ti.com>
----
- tests/ArmnnExamples/ArmnnExamples.cpp | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/tests/ArmnnExamples/ArmnnExamples.cpp b/tests/ArmnnExamples/ArmnnExamples.cpp
-index c10a4fc0..660106c0 100644
---- a/tests/ArmnnExamples/ArmnnExamples.cpp
-+++ b/tests/ArmnnExamples/ArmnnExamples.cpp
-@@ -213,6 +213,18 @@ namespace
- // Configure boost::program_options for command-line parsing and validation.
- namespace po = boost::program_options;
-
-+ bool CheckOption(const po::variables_map& vm, const char* option)
-+ {
-+ // Check that the given option is valid.
-+ if (option == nullptr)
-+ {
-+ return false;
-+ }
-+
-+ // Check whether 'option' is provided.
-+ return vm.find(option) != vm.end();
-+ }
-+
- template<typename T, typename TParseElementFunc>
- std::vector<T> ParseArrayImpl(std::istream& stream, TParseElementFunc parseElementFunc)
- {
-@@ -647,6 +659,14 @@ int main(int argc, const char* argv[])
- try
- {
- po::store(po::parse_command_line(argc, argv, desc), vm);
-+ if (CheckOption(vm, "help") || argc <= 1)
-+ {
-+ std::cout << "Executes a neural network model using the provided video clip, or input camera stream. " << std::endl;
-+ std::cout << "Runs many consecutive inferences and shows classification labels on display, in real-time." << std::endl;
-+ std::cout << std::endl;
-+ std::cout << desc << std::endl;
-+ return EXIT_SUCCESS;
-+ }
- po::notify(vm);
- }
- catch (const po::error& e)
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0013-ArmnnExample-setting-capture-resolution-for-the-came.patch b/meta-arago-extras/recipes-support/armnn/armnn/0013-ArmnnExample-setting-capture-resolution-for-the-came.patch
deleted file mode 100644
index bce697d..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn/0013-ArmnnExample-setting-capture-resolution-for-the-came.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From dc175c00a317cdd693772f7dbf9de6ddeef46f19 Mon Sep 17 00:00:00 2001
-From: Hongmei Gou <a0271529@ti.com>
-Date: Tue, 10 Dec 2019 13:07:26 -0500
-Subject: [PATCH] ArmnnExample: setting capture resolution for the camera input
-
-Upstream-Status: Inappropriate [TI only example code]
-
-Signed-off-by: Hongmei Gou <a0271529@ti.com>
----
- tests/ArmnnExamples/ArmnnExamples.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tests/ArmnnExamples/ArmnnExamples.cpp b/tests/ArmnnExamples/ArmnnExamples.cpp
-index 1bd76a47..7fdaa167 100644
---- a/tests/ArmnnExamples/ArmnnExamples.cpp
-+++ b/tests/ArmnnExamples/ArmnnExamples.cpp
-@@ -349,6 +349,10 @@ int MainImpl(const char* modelPath,
- }
- std::cout << "Using video" << vport << std::endl;
- cap = VideoCapture(vport);
-+ // Setting the capture resolution
-+ cap.set(CV_CAP_PROP_FRAME_WIDTH, 352);
-+ cap.set(CV_CAP_PROP_FRAME_HEIGHT, 288);
-+
- namedWindow("ARMNN MobileNet Example", WINDOW_AUTOSIZE | CV_GUI_NORMAL);
- input_type = INPUT_CAMERA; //camera input
- }
-@@ -452,7 +452,7 @@ int MainImpl(const char* modelPath,
- cv::putText(test_image, predict_target_name,
- cv::Point(rectCrop.x + 5,rectCrop.y + 20), // Coordinates
- cv::FONT_HERSHEY_COMPLEX_SMALL, // Font
-- 1.0, // Scale. 2.0 = 2x bigger
-+ 0.75, // Scale. 2.0 = 2x bigger
- cv::Scalar(0,0,255), // Color
- 1, // Thickness
- 8); // Line type
-@@ -462,7 +462,7 @@ int MainImpl(const char* modelPath,
- cv::putText(test_image, preformance_ret_string,
- cv::Point(rectCrop.x + 5,rectCrop.y + 40), // Coordinates
- cv::FONT_HERSHEY_COMPLEX_SMALL, // Font
-- 1.0, // Scale. 2.0 = 2x bigger
-+ 0.75, // Scale. 2.0 = 2x bigger
- cv::Scalar(0,0,255), // Color
- 1, // Thickness
- 8); // Line type
---
-2.17.1
-
diff --git a/meta-arago-extras/recipes-support/armnn/armnn_git.bb b/meta-arago-extras/recipes-support/armnn/armnn_git.bb
deleted file mode 100644
index 29142a0..0000000
--- a/meta-arago-extras/recipes-support/armnn/armnn_git.bb
+++ /dev/null
@@ -1,102 +0,0 @@
-SUMMARY = "ARM Neural Network SDK"
-DESCRIPTION = "Linux software and tools to enable machine learning (Caffe/Tensorflow) workloads on power-efficient devices"
-LICENSE = "MIT & Apache-2.0"
-# Apache-2.0 license applies to mobilenet tarball
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3e14a924c16f7d828b8335a59da64074 \
- file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-PR = "r4"
-PV = "19.08"
-PV_MAJOR = "${@d.getVar('PV',d,1).split('.')[0]}"
-
-BRANCH = "branches/armnn_19_08"
-SRCREV = "26052fcf2f8c91f3479c9484354e88e8944d004d"
-
-SRCREV_tidl-api = "7e9a3942ec38efd64d45e34c10cba2f2938f5618"
-BRANCH_tidl-api = "master"
-
-SRCREV_FORMAT = "armnn"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-SRC_URI = " \
- git://review.mlplatform.org/ml/armnn;protocol=https;name=armnn;branch=${BRANCH} \
- file://0001-stdlib-issue-work-around.patch \
- file://0002-enable-use-of-boost-shared-library.patch \
- file://0003-add-more-test-command-line-arguments.patch \
- file://0004-generate-versioned-library.patch \
- file://0005-add-armnn-mobilenet-test-example.patch \
- file://0006-armnn-mobilenet-test-example.patch \
- file://0007-enable-use-of-arm-compute-shared-library.patch \
- file://0009-command-line-options-for-video-port-selection.patch \
- file://0010-armnnexamples-update-for-19.08-modifications.patch \
- file://0011-Generate-versioned-library-for-armnnTfLiteParser.patch \
- file://0012-ArmnnExample-Fix-exception-for-help-command-line-opt.patch \
- file://0013-ArmnnExample-setting-capture-resolution-for-the-came.patch \
- http://download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz;name=mobilenet;subdir=${WORKDIR}/tfmodel;destsuffix=tfmodel \
- https://storage.googleapis.com/mobilenet_v2/checkpoints/mobilenet_v2_1.0_224.tgz;name=mobilenetv2;subdir=${WORKDIR}/tfmodel;destsuffix=tfmodel \
- git://git.ti.com/tidl/tidl-api.git;name=tidl-api;branch=${BRANCH_tidl-api};subdir=${WORKDIR}/tidl-api;destsuffix=tidl-api \
-"
-
-SRC_URI[mobilenet.md5sum] = "d5f69cef81ad8afb335d9727a17c462a"
-SRC_URI[mobilenet.sha256sum] = "1ccb74dbd9c5f7aea879120614e91617db9534bdfaa53dfea54b7c14162e126b"
-SRC_URI[mobilenetv2.md5sum] = "519bba7052fd279c66d2a28dc3f51f46"
-SRC_URI[mobilenetv2.sha256sum] = "318084bc1b63d6d7b854553e09cdf77078b1c0168be27c59a0d44253b5ed49dc"
-
-DEPENDS = " \
- boost \
- protobuf \
- stb \
- arm-compute-library \
- armnn-caffe \
- armnn-tensorflow \
- armnn-onnx \
- tensorflow-lite \
- flatbuffers \
- opencv \
-"
-
-RDEPENDS_${PN} = " arm-compute-library protobuf boost "
-
-EXTRA_OECMAKE=" \
- -DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF \
- -DARMCOMPUTE_ROOT=${STAGING_DIR_HOST}${datadir}/arm-compute-library \
- -DCAFFE_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-caffe \
- -DTF_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-tensorflow \
- -DONNX_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-onnx \
- -DBUILD_CAFFE_PARSER=1 -DBUILD_TF_PARSER=1 -DBUILD_ONNX_PARSER=1 -DBUILD_TF_LITE_PARSER=1 \
- -DTF_LITE_GENERATED_PATH=${STAGING_DIR_HOST}${includedir}/tensorflow/lite/schema \
- -DFLATBUFFERS_ROOT=${STAGING_DIR_HOST}${includedir}/flatbuffers \
- -DFLATBUFFERS_LIBRARY=${STAGING_DIR_HOST}${libdir}/libflatbuffers.so \
- -DARMCOMPUTENEON=1 \
- -DBUILD_TESTS=1 -DPROFILING=1 \
- -DTHIRD_PARTY_INCLUDE_DIRS=${STAGING_DIR_HOST}${includedir} \
- -DBUILD_ARMNN_EXAMPLES=1 \
- -DGENERIC_LIB_VERSION=${PV} -DGENERIC_LIB_SOVERSION=${PV_MAJOR} \
-"
-
-TESTVECS_INSTALL_DIR = "${datadir}/arm/armnn"
-
-do_install_append() {
- CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
- install -d ${D}${bindir}
- find ${WORKDIR}/build/tests -maxdepth 1 -type f -executable -exec cp $CP_ARGS {} ${D}${bindir} \;
- cp $CP_ARGS ${WORKDIR}/build/UnitTests ${D}${bindir}
- install -d ${D}${TESTVECS_INSTALL_DIR}/models
- cp ${WORKDIR}/tfmodel/mobilenet_v1_1.0_224_frozen.pb ${D}${TESTVECS_INSTALL_DIR}/models
- cp ${WORKDIR}/tfmodel/mobilenet_v2_1.0_224.tflite ${D}${TESTVECS_INSTALL_DIR}/models
- cp ${WORKDIR}/git/tests/TfMobileNet-Armnn/labels.txt ${D}${TESTVECS_INSTALL_DIR}/models
- install -d ${D}${TESTVECS_INSTALL_DIR}/testvecs
- cp ${WORKDIR}/tidl-api/examples/classification/clips/*.mp4 ${D}${TESTVECS_INSTALL_DIR}/testvecs
- cp ${WORKDIR}/tidl-api/examples/classification/images/*.jpg ${D}${TESTVECS_INSTALL_DIR}/testvecs
- chrpath -d ${D}${bindir}/*
-}
-
-CXXFLAGS += "-fopenmp"
-LIBS += "-larmpl_lp64_mp"
-
-FILES_${PN} += "${TESTVECS_INSTALL_DIR}"
-FILES_${PN}-dev += "{libdir}/cmake/*"
-INSANE_SKIP_${PN}-dev = "dev-elf"
--
2.7.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2020-05-19 3:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 3:41 [dunfell/master][PATCH] armnn: deprecated, remove Denys Dmytriyenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.