Parichay Kapoor [Fri, 31 Jan 2020 11:38:36 +0000 (20:38 +0900)]
[Spec] Minor bug fix in spec
Add minor bug fix in spec
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Thu, 30 Jan 2020 06:28:39 +0000 (15:28 +0900)]
[Test/Cpp] cleanup build script
prevent build warning with googletest static library.
1. separate cpp sub-plugin and gtest
2. remove unnecessary dependency in meson
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 23 Jan 2020 08:17:21 +0000 (17:17 +0900)]
[Transform] copy tensor-info for negotiation
For caps negotiation, copy tensor info first and update necessary meta.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Dongju Chae [Thu, 30 Jan 2020 04:55:55 +0000 (13:55 +0900)]
[Fix] add type checking for gst value in tensor_converter.c
This commit adds type checking for the gst value, supported_formats.
When an unsupported colorspace is used, gst_value_list_get_size() has
generated unnecessary warnings.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Jaeyun [Mon, 20 Jan 2020 09:34:05 +0000 (18:34 +0900)]
[Test] input memory to invoke filter-plugins
Set max array for input and output tensor-memory to prevent out-of-index exception.
Invoke-callback requires the array of tensor memories.
Now this does not make an error, but later if we try to generate another testcase with multi-tensors, it needs to set the array of tensor data.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 23 Jan 2020 08:00:37 +0000 (17:00 +0900)]
[Build/Android] remove unnecessary log to run android
Currently android library does not use the configuration file.
Check null string before validating the conf file.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 23 Jan 2020 07:54:05 +0000 (16:54 +0900)]
[Build] default build option of python
disable default build option of python.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Mon, 20 Jan 2020 09:34:28 +0000 (18:34 +0900)]
[Test] Rename internal API: getTempFilename
Rename _get_temp_filename --> getTempFilename as it has
become an internal API.
Suggested-by: Dongju Chae <dongju.chae@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 17 Jan 2020 03:46:42 +0000 (12:46 +0900)]
Test/C++-custom-filter: Add unit test cases.
Unit test cases of C++ custom filters
Positive cases: 3
Negative cases: 6
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 17 Jan 2020 03:44:42 +0000 (12:44 +0900)]
[Test] Add internal APIs for unit tests
1. Pipeline status waiting loop
2. Get temp filename
Those functions are from unittest_sink, which will be used
by other unittest cases (c++ custom filter test cases)
Chnages v2: updated meson script for Ubuntu 16.04 errors.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Thu, 23 Jan 2020 04:24:31 +0000 (13:24 +0900)]
[Split] Fix a build warning incurred by a may-be-uninitialized variable
This patch fixes a build warning incurred by a may-be-uninitialized
variable.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Tue, 21 Jan 2020 02:22:58 +0000 (11:22 +0900)]
Fix: load the configuration even if there is no .ini file
Even if there is no .ini file, we need to load up the
subplugins from the default hardcoded paths or
the paths given with envvars.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Thu, 23 Jan 2020 05:24:44 +0000 (14:24 +0900)]
[Tests/Filter/EdgeTPU] Revise pipeline strings
'videoformat' in the pipeline strings seems to be an invalid or illegal
GST element so that it is replaced with 'videoscale'.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Tue, 14 Jan 2020 11:31:28 +0000 (20:31 +0900)]
[Android] custom-filter and amcsrc for native build
register custom-filter and amcsrc for native build.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Wook Song [Thu, 16 Jan 2020 04:40:53 +0000 (13:40 +0900)]
[Meson] Make 'enable-edgetpu' depend on 'enable-tensorflow-lite'
In order to handle the case that 'enable-edgetpu' is set to 'true',
meson requires a variable, 'tflite dep', which is a declaration of a
dependency on TensorFlow-Lite. Therefore, the 'enable-edgetpu' option
alone cannot properly set the feature. This patch fixes this issue.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 13 Jan 2020 06:39:39 +0000 (15:39 +0900)]
[Filter/OpenVino] Keep consistency in the private member variable names
In order to improve the readability of code, this patch makes the names
of the private member variables use a prefix, '_', to keep consistency.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 13 Jan 2020 06:22:46 +0000 (15:22 +0900)]
[Filter/OpenVino] Support the MYRIAD plugin
This patch enables the MYRIAD plugin of the OpenVino framework in order
to support Movidious Neural Compute Stick 1 and 2.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 13 Jan 2020 05:38:25 +0000 (14:38 +0900)]
[Filter/OpenVino] bugfix when checking that the fw is already opened
This patch fixes a bug at the checking that the sub-plugin framework is
already opend by adding a missing mandatory condition.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 13 Jan 2020 02:19:35 +0000 (11:19 +0900)]
[Filter/OpenVino] Revise mechanism for setting up 'accelerator'
This patch revices the existing mechanism for setting up the
acceleration device.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Sun, 12 Jan 2020 23:57:48 +0000 (08:57 +0900)]
[Filter/OpenVino] Correct typo in an error message
This patch corrects a typo in an error message.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Thu, 9 Jan 2020 22:57:46 +0000 (07:57 +0900)]
[pytorch] Enable setting accelerators
Enabled setting of accelerators
Enabled getting supported accelerators
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
MyungJoo Ham [Wed, 15 Jan 2020 05:40:47 +0000 (14:40 +0900)]
[Filter/C++] Add the basic test case
The most basic execution flow is tested.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 14 Jan 2020 11:14:20 +0000 (20:14 +0900)]
[Filter/C++] Complete implementation of C++ filter.
With C++ filter, application authors may supply C++ classes as tensor-filters.
They may provide C++ classes as an independent .so files for other application
authors as well.
v2: fixed build errors.
v3: added "prop" property.
@TODO: test & test
@TODO: usage manual
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 15 Jan 2020 05:36:52 +0000 (14:36 +0900)]
Meson: setup configure values before executing subdir
We now have a subdir that requires to read the configuration values.
Thus, configure values before calling subdirs.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 13 Jan 2020 04:24:14 +0000 (13:24 +0900)]
[Api] typo correction
typo correction in C-Api headers.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Wook Song [Thu, 16 Jan 2020 03:25:44 +0000 (12:25 +0900)]
[Meson] Disable external filters for pytorch, caffe2, tf-lite by default
This patch disables by default the tensor filters to support external
neural network frameworks such as pytorch, caffe2, and tensorflow-lite in
the meson_options.txt file.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 16 Jan 2020 02:22:38 +0000 (11:22 +0900)]
[Dist] Use explicit options to enable external filters
This patch uses explicit options to enable or disable external tensor
filters for tensorflow-lite, caffe2, and pytorch, which are enabled by
default in the meson_options.txt file.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Tue, 31 Dec 2019 10:58:46 +0000 (19:58 +0900)]
[armnn] Add caffe support with armnn
Add caffe support with armnn
Add corresponding unit-test
Tested with CPU and GPU backend on the device
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 24 Dec 2019 08:31:26 +0000 (17:31 +0900)]
[test/ext] Add condition for function to exist
Verify that the function is available before running tests for that function
Added the above verification for getInputDimension and getOutputDimension
Further enhanced invoke test to run successfully if the getDimension exists
V2:
Added gst_tensors_info_free to catch memleak of tensor_info->name
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 8 Jan 2020 08:18:10 +0000 (17:18 +0900)]
[nnfw] Verify input model filename
Added verification of input model filename
This is performed by parsing the metadata/MANIFEST file to be provided with the model
The first model in the list of models should be the model to be run by nnfw
json-glib is added as dependency to allow json parsing
Corresponding unittest is also added
Resolve: #1981
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Tue, 14 Jan 2020 08:30:56 +0000 (17:30 +0900)]
[Test] stream testcase with multiple custom-filters
add testcase with multiple custom filters.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 14 Jan 2020 11:23:01 +0000 (20:23 +0900)]
[Android/AMC] fix build warning
fix build warning in android amc src.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yongjoo Ahn [Thu, 16 Jan 2020 00:17:23 +0000 (09:17 +0900)]
[Spec] Update version 1.2.0 to 1.3.0 of rpm spec
Resolve version mismatch of .spec with current dev version 1.3.0
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Wook Song [Tue, 14 Jan 2020 02:35:11 +0000 (11:35 +0900)]
[Tests/FilterExtCommon] Fix test case failure
This patch fixes failure in the test cases generated from
unittest_tizen_template.cc.in. This is a bug of [1]
[1]
cbb65b01278b39789e69c6de888b3e0e78b3e5db
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Fri, 10 Jan 2020 09:34:31 +0000 (18:34 +0900)]
[Spec] cleanup build option
move to proper build option and cleanup unnecessary option.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 10 Jan 2020 09:26:17 +0000 (18:26 +0900)]
[CodeClean] remove unnecessary code
Now single API does not use the pipeline. Remove unnecessary function to get caps from tensor-info.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Thu, 9 Jan 2020 12:19:03 +0000 (21:19 +0900)]
[common] Added proper GstCaps framerate comparison
Added proper comparison of GstCaps framerate (1/2 == 2/4)
Added corresponding unittest cases
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Wook Song [Fri, 10 Jan 2020 11:08:01 +0000 (20:08 +0900)]
[Tests/FilterExtCommon] Generate test cases using meson
In order to generate test cases from the template file to which the most
recent modification has been applied, this patch changes the approach
for the test case generation from the existing bash script to the meson
build script.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Mon, 13 Jan 2020 04:47:51 +0000 (13:47 +0900)]
[CodeClean] fix coverity issue
check exception case in testcases.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
HyoungJoo Ahn [Mon, 13 Jan 2020 05:17:15 +0000 (14:17 +0900)]
[Caffe2] Change how headers are included
The headers are not in this project. Though it does not occur errors, to prevent misunderstanding, it needs to be fixed.
Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
MyungJoo Ham [Fri, 10 Jan 2020 04:45:15 +0000 (13:45 +0900)]
Documentation Update of 2020.01
We have been progressed a lot. Update the documentation accordingly.
V2: fixed typos
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Fri, 10 Jan 2020 07:03:39 +0000 (16:03 +0900)]
[Ext/Filter/TFLite] Enable a TensorFilter's property, verify_model_path
This patch enables a GstTensorFilter's property, verify_model_path,
which is newly added.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 10 Jan 2020 04:57:42 +0000 (13:57 +0900)]
[Filter/Common/Reload] Define the behavior for verify_model_path
This patch defines the behaviour of reloading model files when the
verify_model_path is set to TRUE.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 10 Jan 2020 10:57:26 +0000 (19:57 +0900)]
[Tests/Script] Make the run_unittests_binaries script find executables
This patch makes the run_unittests_binaries script in ./packaging find
only executable files.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Thu, 9 Jan 2020 08:09:34 +0000 (17:09 +0900)]
README: update reviewers and project status
- Added the two new reviewers
- Added more info on the project status
V2: typo-fix and added an omitted item.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Fri, 10 Jan 2020 10:11:55 +0000 (19:11 +0900)]
[Tests/FilterExtCommon] hotfix: Fix build errors, dangling-else
This patch fixes build errors related to 'dangling-else' (error:
suggest explicit braces to avoid ambiguous 'else') in
unittest_tizen_template.cc.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Thu, 9 Jan 2020 23:32:09 +0000 (08:32 +0900)]
[tflite/bug] Set accelerator bug solve
Bug: Not setting accelerator ignored the use_nnapi configuration
This is resolved
Enable setting accelerator unittest non-tizen platforms as well
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Thu, 9 Jan 2020 07:22:25 +0000 (16:22 +0900)]
[CodeClean] change file extension
1. change file extension to .cc in testcases
2. change path to generate ext-test files
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 9 Jan 2020 07:12:59 +0000 (16:12 +0900)]
[Android] assertion to load conf file
Now Android functions do not use the conf file, remove assertion to run Android library.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 31 Dec 2019 07:02:16 +0000 (16:02 +0900)]
[Android/Test] testcases for updated API
Add testcase for SNAP and updated Java API.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 31 Dec 2019 04:34:12 +0000 (13:34 +0900)]
[Api/Android] support SNAP in Android API
In Java APIs, handle multiple model files and custom option to support SNAP.
Define enum for supported NNFW and implement native functions.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 27 Dec 2019 04:21:47 +0000 (13:21 +0900)]
[Api/CodeClean] function to create single handle
To reduce complexity, add function to create and initialize the single-shot handle.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 24 Dec 2019 11:36:10 +0000 (20:36 +0900)]
[C-Api] handle multi files and custom option
define struct to handle multiple model files and custom option string.
Prepare SNAP single-shot API.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 24 Dec 2019 11:28:56 +0000 (20:28 +0900)]
[Api/CodeClean] macro to check nnfw
1. define macro to check nnfw is available
2. update comment and code clean
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Tue, 24 Dec 2019 05:00:18 +0000 (14:00 +0900)]
[python/ext] Added basic unittests for python
- Python initialize and finalize is done once for the module rather than doing it per object
Doing initialization per object causes errors when importing modules
- Replaced Assert with appropriate error handing for python extension of tensor filter
- Added basic unittests for python which covers the failure cases
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Wook Song [Mon, 6 Jan 2020 07:43:22 +0000 (16:43 +0900)]
[Filter] Add an option to centralize checking the path of model files
Currently, each sub-plugin of the tensor filter should check the
validity of the path of the model files. In general, it leads to
unnecessary code duplication. Moreover, sometimes those are not checked
at all. This patch adds an option to centralize checking the path of model
files so that each sub-plugin is in charge of the validity of model files
only when this option is set to FALSE.
Signed-off-by: Wook Song <wook16.song@samsung.com>
gichan-jang [Tue, 7 Jan 2020 08:16:28 +0000 (17:16 +0900)]
[TEST] Unit test case for NNFW ML-API
Unit tests are added to verify NNFW with ML-API.
Detail of added test case is :
Test multidimensional input/output us supported in NNFW
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Parichay Kapoor [Fri, 3 Jan 2020 04:49:33 +0000 (13:49 +0900)]
[nnfw] Support setInputDimension with nnfw
With updated nnfw API, support setInputDimension with nnfw
Although the API is defined, its not yet implemeted interally
So, the unittest is added, but disabled
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
MyungJoo Ham [Thu, 9 Jan 2020 06:26:13 +0000 (15:26 +0900)]
CODEOWNERS: add new members
Notify Gichan and Yongjoo for any changes in the repo.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 16 Dec 2019 11:19:54 +0000 (20:19 +0900)]
Test: filter/edgetpu unit testing
Edge-TPU subplugin unit test cases.
(1 positive and 2 negative cases)
This requires edgetpu package update in dashboard.tizen.org
(We are waiting for it)
V2: added test model condition for edgetpu testcase.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Dongju Chae [Wed, 8 Jan 2020 05:12:44 +0000 (14:12 +0900)]
[CONF] override NNSTREAMER_CONF_FILE with env-var conf in non-Tizen
This commit overrides NNSTREAMER_CONF_FILE with env-var conf in
non-Tizen system. So, env-var conf has a higher priority than others.
With this feature, some unittests using a conf file from env-var has
passed even if the default conf file (/etc/nnstremer.ini) exists.
Note that Tizen does not allow to set configurations from env-var.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Wed, 18 Dec 2019 04:24:50 +0000 (13:24 +0900)]
Dist/Tizen: show unit test result summary
Aggregate all gtest and SSAT results at the end of testing.
After this, unittest-enabled gbs will show results like:
```
[ 117s] GTest (total 232 cases)
[ 117s] Passed: 232 / Failed: 0 / Ignored: 0
[ 117s] SSAT (total 513 cases)
[ 117s] Passed: 497 / Failed: 0 / Ignored: 16
[ 117s] Grand Total: 745 cases
[ 117s] Passed: 729 / Failed: 0 / Ignored: 16
```
Changes in V2:
- made sure to call close for opened f
- use os.path.splitext
Chnaged in V3:
- with makes exceptions with fail. Handle them.
Suggested TODO in later PRs:
- Count negative test cases.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Fri, 3 Jan 2020 05:39:31 +0000 (14:39 +0900)]
[Filter/OpenVino] Fill the mandatory callback, invoke
This patch adds a method to run inference for given input tensors using
InferenceEngine on the acceleration device. It also implements the
mandatory callback of GstTensorFilterFramework, invoke, with such method.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Mon, 23 Dec 2019 10:29:41 +0000 (19:29 +0900)]
[filter/ext] Added basic unittests for all filter extensions
Added basic unittests for all the the filter extensions
This creates failure cases of unittests for the interface defined with GstTensorFilterFramework
for most of the extensions, and performs basic unittests
Updated the unittest list in packaging files as well
Also added a script file to run all the test cases inside a folder
V2:
Split test cases into successful and negative ones
TODO: Support python extensions in this as well
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 19 Dec 2019 03:07:38 +0000 (12:07 +0900)]
[single/hw] Check hw support for framework
Add implementation to check hw support for framework while checking
for its availability.
Added unittests for this functionality with tensorflow-lite
V2:
check hardware support performed while parsing for available hardwares
Split availability test cases into positive and negative
V3:
checkHWSupport->checkAvailability
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Thu, 2 Jan 2020 10:15:48 +0000 (19:15 +0900)]
[Android] add clone method
Add clone method in tensors info class.
This is to prevent meta-info change after allocating data from passed information.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 23 Dec 2019 10:43:27 +0000 (19:43 +0900)]
[Android] define enumeration for data type and state
Define enumeration for tensor data type and pipeline state (sync with C# API)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 22 Nov 2019 08:22:27 +0000 (17:22 +0900)]
[Android] tensors-data class with metadata
1. Add tensors info in TensorsData class.
2. Handle error case when failed to create pipe info in native functions.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Sangjung Woo [Wed, 8 Jan 2020 07:10:48 +0000 (16:10 +0900)]
[PythonFilter] Add pragma option to fix compile time error for gcc v9.6
This patch newly adds pragma option to fix compile time error for gcc
v9.6.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 8 Jan 2020 05:41:12 +0000 (14:41 +0900)]
[Spec] Add python-filter option
This patch newly adds the python-filter option which could support to be
disabled.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Wook Song [Thu, 2 Jan 2020 09:28:35 +0000 (18:28 +0900)]
[Filter/OpenVino] Handle the case when the sub-plugin is re-opened
This patch adds a mechanism to handle the case when this sub-plugin is
re-opened.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 2 Jan 2020 08:51:18 +0000 (17:51 +0900)]
[Filter/OpenVino] Improve provided model(s) parsing
This patch improves the mechanism to parse the provided model(s).
The model could be given in the following forms:
- a path of the .bin or .xml file
- a path of the prefix of the .bin and .xml file
- a set of paths of the both .bin and .xml files.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 2 Jan 2020 07:39:48 +0000 (16:39 +0900)]
[Ext/Filter/Meson] Make meson support the CPU extensions of OpenVino
This patch updates the meson build script for tensor filter sub-plugins
to support the CPU extensions of the OpenVino toolkit.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 2 Jan 2020 07:28:35 +0000 (16:28 +0900)]
[Filter/OpenVino] Load a given network into the acceleration device
After negotiated, the given neural network should be loaded into the
acceleration device (note that, currently, CPU is the only supported
one).This patch is a draft of the implementation of that mechanism.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Dongju Chae [Tue, 7 Jan 2020 10:31:14 +0000 (19:31 +0900)]
[Cpp/Ext] Renames file extensions of test source codes written in C++
This commit renames file extensions of test source codes written in C++
(i.e, *.cpp -> *.cc), which hurt the consistency.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Parichay Kapoor [Tue, 31 Dec 2019 07:39:24 +0000 (16:39 +0900)]
[armnn] object classification unittest + bug solve
- Add object classification unittest using tflite quantized mobilenet
- Add orange.png raw format image orange.raw
- As armnn treats uint8 datatype of tflite as quant asymm8 (arc/armnnTfLiteParser/TfLiteParser.cpp:310),
quant asymm8 is interpreted as uint8 in nnstreamer
- Updated current default HW backend to CpuAcc (based on neon) as CpuRef takes over
5 min to complete the mobilenet unittest
Bug solve:
The dimension of data received by armnn are inversed to match the desired order
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Sangjung Woo [Mon, 6 Jan 2020 07:30:16 +0000 (16:30 +0900)]
[C-API] Set omitted enum value in pipeline buffer policy
This patch explicitly set the enum value in pipeline buffer policy as
below.
* ML_PIPELINE_BUF_POLICY_AUTO_FREE: 0
* ML_PIPELINE_BUF_POLICY_DO_NOT_FREE: 1
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Parichay Kapoor [Tue, 31 Dec 2019 11:37:25 +0000 (20:37 +0900)]
[nnfw] Interpret quant8 asymm as uint8
Interpret quant8 asymm as uint8
Add unittest with object classification
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Wook Song [Thu, 2 Jan 2020 07:14:58 +0000 (16:14 +0900)]
[Ext/Filter/Meson] Update meson.build for the OpenVino sub-plugin
This patch updates the meson build script for the tensor filter
sub-plugins to support OpenVino.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 6 Jan 2020 08:08:21 +0000 (17:08 +0900)]
[Documentation] Modify the meson version required to build up-to-date
This patch modifies the meson version required to build up-to-date, 0.50.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Tue, 17 Dec 2019 06:45:21 +0000 (15:45 +0900)]
[Api] add SNAP in nnfw enum type
Define SNAP in nnfw type, only for Android.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 6 Jan 2020 04:31:30 +0000 (13:31 +0900)]
[Filter/Custom] unnecessary log
prevent unnecessary logs if custom-filter does not define set/get dim callbacks.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 6 Jan 2020 03:44:14 +0000 (12:44 +0900)]
[CodeClean] fix coverity
fix some coverity issues and sam score
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Wook Song [Sun, 29 Dec 2019 21:40:08 +0000 (06:40 +0900)]
[Filter/OpenVino] Add skeleton code of a sub-plugin for OpenVino support
This patch adds skeleton code of a tensor filter sub-plugin for OpenVino
Toolkit (dldt) support.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Tue, 17 Dec 2019 04:51:24 +0000 (13:51 +0900)]
[armnn] Added unittests for armnn
Added unittests for armnn tensor filter extension
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 14 Nov 2019 08:25:06 +0000 (17:25 +0900)]
[armnn] Added tensor filter extension of armnn
Added tensor filter extension of armnn
V2: Updated the static library install paths for armnn and nnfw subplugins
V3: Updated error handling
V4: Remove Wno-sign-compare
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Mon, 23 Dec 2019 08:24:55 +0000 (17:24 +0900)]
[filter/ext] Replace asserts with error handling
Replace asserts with appropriate error handling in tensor filter extensions
This will allows test cases for failure scenarios and handle erronous inputs
via single-shot API gracefully with error return than shutting down with assert failure
V2:
Applied for custom filters as well
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 18 Dec 2019 05:42:55 +0000 (14:42 +0900)]
[spec] Minor fixes and cleanup
Added minor fixes:
- nnstreamer-capi.manifest to be not used non-tizen packages
- remove nnfw enable variable as nnfw is always enabled
Cleanup
- remove extra tizen conditions
- Move similar blocks together for better understanding
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 17 Dec 2019 06:02:42 +0000 (15:02 +0900)]
[plugin/hw] Add more HW accelerator and update implementation
Add TPU as a backend accelerator property option in list of hardware
accelerators
Move default accelerator to avoid changing default accelerator enum value
everytime a new backend device is added
V2:
- Updated the regex to be formed at run-time using a list of supported
accelerators.
- Accelerators are also stored as GEnumValues to do conversion from
string to int value and vice versa easily
- More accelerators are added in heirarchical order. srcn and neon
moved to npu and cpu heirarchy correspondingly.
- Added more accelerators to be supported in future.
V3:
Update backend accelerator in tizen c-api
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Thu, 2 Jan 2020 03:47:36 +0000 (12:47 +0900)]
[Build] remove unnecessary flag
remove remained flag 'no-sign-compare'
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Dongju Chae [Mon, 16 Dec 2019 11:19:29 +0000 (20:19 +0900)]
[FIX/LOG] Fix a wrong error message for custom-easy tensor filter
This commit fixes the wrong log message for custom-easy tensor filter.
For this subplugin, we don't need to check whether the model path exists.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongju Chae [Wed, 18 Dec 2019 03:50:04 +0000 (12:50 +0900)]
[TEST/RELOAD] Test runtime model reloads during tflite inferences
This commit adds a testcase to test asynchronous model updates during
tflite inferences. It repeatedly switches tflite models between
mobilenet_v1 and mobilenet_v2. It expects the same index for input img.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Parichay Kapoor [Mon, 30 Dec 2019 11:56:11 +0000 (20:56 +0900)]
[build] Remove -wno-sign-compare
Remove -Wno-sign-compare
Apply corresponding fixes
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Thu, 26 Dec 2019 02:20:19 +0000 (11:20 +0900)]
[Converter] reduce complexity
define function to get possible media caps from downstream element.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Thu, 19 Dec 2019 04:19:52 +0000 (13:19 +0900)]
[tflite] Backend unittest should always pass
Tensorflow-lite unittest which tests for appropriate backend parsing and testing
should always pass.
Removed accelerator input validity check at tensor_filter.c as it is checked in
each filter again.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Fri, 20 Dec 2019 06:38:20 +0000 (15:38 +0900)]
[Android/SNAP] build script for SNAP
Update script to build Android library including SNAP.
Before running with option --enable_snap=yes, developer should define SNAP_DIRECTORY (dir path to SNAP sub-plugin and prebuilt library)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Parichay Kapoor [Fri, 27 Dec 2019 13:50:12 +0000 (22:50 +0900)]
[nnfw] Reverse the order of dimension
Reverse the order of dimensions with nnstreamer as
nnfw stores dimension in accordance with tflite
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Wed, 18 Dec 2019 08:29:48 +0000 (17:29 +0900)]
[Filter/TF] remove unnecessary code
remove unnecessary code (duplicated with tf_destroyNotify())
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 18 Dec 2019 06:06:16 +0000 (15:06 +0900)]
Dist/Tizen: add missing manifest for source-tizen-sensor
Because it has an executable (shared library), we need
SMACK manifest information.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Mon, 16 Dec 2019 02:24:29 +0000 (11:24 +0900)]
[nnfw] Set accelerator for nnfw
Allow setting of accelerator for nnfw
Parsing accelerator moved to tensor_filter_common. Currently, used in
tflite and nnfw, and use directly for other filters like this.
V2:
Added note that PROP_ACCELERATOR is supported in a few filter extensions only.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>