Parichay Kapoor [Tue, 11 Feb 2020 10:22:55 +0000 (19:22 +0900)]
[ncsdk2/hw] Added supported accelerators
Added supported accelerators for ncsdk2 extension and corresponding unit-tests with single API
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 11 Feb 2020 10:21:36 +0000 (19:21 +0900)]
[nnfw/hw] Unit-test for nnfw accelerators
Added unit-tests for nnfw supported accelerators with single API
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 11 Feb 2020 10:19:04 +0000 (19:19 +0900)]
[custom/hw] Added supported accelerators
Added supported accelerators for custom filters and its unit-tests with single API
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 11 Feb 2020 10:16:58 +0000 (19:16 +0900)]
[tensorflow/hw] Added supported accelerators
Added supported list of hardwares for tensorflow's tensor filter's extension
Added corresponding unit-tests using single API
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 11 Feb 2020 10:15:02 +0000 (19:15 +0900)]
[python/hw] Added supported accelerators
Added list of supported backend accelerators for python extension of tensor filter
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 11 Feb 2020 10:14:13 +0000 (19:14 +0900)]
[caffe2/hw] Added backend accelerator for caffe2
Added list of supported accelerators as backend for caffe2
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 11 Feb 2020 10:10:54 +0000 (19:10 +0900)]
[openvino/hw] Update openvino supported HW
Updated the list of HWs supported with openvino
Providing "true:npu" should also work along with "true:npu.movidius"
Providing specific movidius accelerator works
However, just providing a generic npu should also default to movidius
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Yongjoo Ahn [Wed, 26 Feb 2020 05:35:50 +0000 (14:35 +0900)]
[Test] Add tensordec-image-segment ssat test
Add a fail case and a simple-run case. And simple golden compare test
with videotestsrc
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Mon, 2 Mar 2020 04:43:25 +0000 (13:43 +0900)]
[Coverity] fix coverity issue
1. init null before getting the file contents.
2. fix mem leak
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Feb 2020 11:20:18 +0000 (20:20 +0900)]
[Android] prepare single-only build
With the request to build single-shot only library, add definition and update build script.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
HyoungJoo Ahn [Tue, 25 Feb 2020 02:18:00 +0000 (11:18 +0900)]
[TFLite] check supporting datatype
check supporting datatypes with meson_option and return the valid datatype
Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
MyungJoo Ham [Mon, 24 Feb 2020 06:33:24 +0000 (15:33 +0900)]
Hotfix: prepare GStreamer 1.16
From GStreamer 1.16, package name and plugin name should be
matched; otherwise, gstreamer will blacklist the plugin.
This fixes blacklisting issue with GStreamer 1.16 and
Tizen-sensor-framework plugin.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun Jung [Sat, 22 Feb 2020 07:57:12 +0000 (16:57 +0900)]
[Api/Single] change return value
Return not-supported if the property is not available.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Aaron J Arthurs [Mon, 17 Feb 2020 16:18:38 +0000 (10:18 -0600)]
Support models with signed 8-bit integer I/O
TensorFlow Lite models whose I/O is of type `kTfLiteInt8` are rejected,
requiring an I/O wrapper (`Quantize` operators). As signed 8-bit
integers are preferred in TensorFlow's quantization specifications [1],
this patch alleviates the need for an I/O wrapper to run strictly
`kTfLiteInt8`-type models.
[1] https://www.tensorflow.org/lite/performance/quantization_spec
Signed-off-by: Aaron J Arthurs <aajarthurs@gmail.com>
HyoungJoo Ahn [Fri, 21 Feb 2020 08:28:21 +0000 (17:28 +0900)]
[TFLite] add the datatype according to meson option
with the new version of TFLite, the new data types have been added. Since it's not supported and we cannot check the version of tensorflow at the build time, we have to set the datatype before building this package. I'd like to suggest adding a field at meson_option and allow user to set it.
Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
MyungJoo Ham [Wed, 19 Feb 2020 06:55:11 +0000 (15:55 +0900)]
Tizen/CAPI: Workaround to support VIVANTE
We need to rewrite this change to make it more general.
This fixes:
1. if there are multiple files for a model, we need to check the
whole list at once, not indivisually.
2. add VIVANTE detection and verification methods.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Tue, 18 Feb 2020 07:28:00 +0000 (16:28 +0900)]
[subplugin/ext] Added unittest for remaining framework functions
Added support for basic unittests of destroyNotify, checkAvailability and allocateInInvoke
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 24 Dec 2019 08:31:26 +0000 (17:31 +0900)]
[subplugin/ext] Added support for setInputDim and reloadModel in unittests
Added check for setInputDim and reloadModel in unittests
Correspondingly two sets of unittests are now generated using getDim or setDim (when possible)
Error values for tflite and python subplugin are updated
Added more error checks
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Yongjoo Ahn [Tue, 18 Feb 2020 07:38:49 +0000 (16:38 +0900)]
[Coverity] Fix unitialized pointer field CID: 1123873
Fix Coverity issues caused by unitialized pointer field in tensor_filter_cpp.cc
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 18 Feb 2020 01:28:07 +0000 (10:28 +0900)]
[Coverity] Fix uncaught exceptions CID: 1123680, 1123739
Fix coverity issues caused by uncaught exceptions
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Wook Song [Tue, 18 Feb 2020 07:25:48 +0000 (16:25 +0900)]
[Transform] Submit initial draft of README
This patch fills the README.md file for tensor_transform.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 18 Feb 2020 06:15:39 +0000 (15:15 +0900)]
[Transform] Fix a typo in description of the 'arithmetic' mode
This is a trivial fix, which corrects a typo in description of the
'arithmetic' mode.
Signed-off-by: Wook Song <wook16.song@samsung.com>
gichan-jang [Fri, 14 Feb 2020 11:29:45 +0000 (20:29 +0900)]
[Coverity] Fix resource leak CID : 1123780, 1123859..
Fix coverity issues caused by resource leak
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Fri, 14 Feb 2020 05:24:20 +0000 (14:24 +0900)]
Aggregator/Doc: add dis-aggregator notes.
Per the request on the usage of "dis-aggregator",
leave a note that it is already supported by aggregator.
Fixes #2101
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Thu, 16 Jan 2020 06:00:45 +0000 (15:00 +0900)]
[ext] Remove class static variables without locking
As extensions are supposed to be thread-safe, using class static variables without locks is not stable.
Move class static variables to class private local object variables for python, tensorflow and caffe2.
Also update corresponding usages.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 16 Jan 2020 05:55:00 +0000 (14:55 +0900)]
[python/ext] Do not update python framework functions
Python updates in extensions framework functions
This results in non-thread-safe behavior
This PR modifies the corresponding implementation
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 24 Dec 2019 08:31:26 +0000 (17:31 +0900)]
[subplugin/ext] Extensions not update their functions
NNStreamer extensions for tensor filter update their functions based on the model file
However, this behavior is not thread-safe.
Updated for extensions to not update their functions for allocate_in_invoke
For allocate_in_invoke, tensor_filter needs to know based on the model if the allocate_in_invoke is supported or not
So added another interface in GstTensorFilterFramework - allocateInInvoke
V2:
Added allocate_in_invoke to be set properly in single API implementation of tensor_filter
Also added some minor updates in comment
Added minor bugfix in python extension
Related Issue: #2034
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Mon, 10 Feb 2020 08:19:44 +0000 (17:19 +0900)]
[Api] prepare release process
Update API description and prepare release process.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 12 Feb 2020 09:38:11 +0000 (18:38 +0900)]
LF/AI: Add required documents
LF/AI requires to add MAINTAINERS.md and RELESES.md
This is to comply with the propsal of
https://github.com/lfai/proposing-projects/pull/9
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 11 Feb 2020 10:34:35 +0000 (19:34 +0900)]
Start development of 1.5.0 as 1.6.0-RC1
1.4.0 -> 1.5.0
- 1.5.0 is a devel version for 1.6.0 release. (RC1)
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 11 Feb 2020 10:33:05 +0000 (19:33 +0900)]
Release of 1.4.0
Major changes since 1.2.0 release:
1.3.1 -> 1.4.0
- Stable release with API changes
- *Tensor-filter subplugin API has been updated.*
- Stability fixes & added unit test cases
- C-API updates
1.3.0 -> 1.3.1
- 1.3.1 is a devel version for 1.4.0 release.
- Support C++ class custom filters. (C++ class as a NN model)
- A tensor-filter instance may have multiple model files easily.
- Updated env-var handling logic for non-Tizen devices.
- Unit test: higher visibility & behavior correctness fixes.
- Auto-generated test cases for tensor-filter sub-plugins (extensions).
- Android/Java support with more convinient methods.
- Support gcc9
- Support openVino as a tensor-filter, allowing to accelerate with Intel NCS/Myriad.
- Support NCSDK as a tensor-filter.
- Support ARMNN as a tensor-filter. (support TF-Lite and Caffe models)
- Reduce asserts and add error handling routines.
- Support Androdi/SNAP as a tensor-filter.
- Support hardware accelerators & 8-bit quantization for NNFW-Runtime & stabilize NNFW-Runtime support with test cases.
- Support Edge-TPU and its runtime as a tensor-filter.
- Filter subplugins refactored to have a single source file (.cc)
- Support model reload
- A lot of fixes for bugs found by Coverity, SVACE, and other static analysis tools
1.2.0 -> 1.3.0:
- 1.3.0 is a devel version for 1.4.0 release.
- From 1.2.0, 1.even.x is a release and 1.odd.x is a devel version.
- When 1.3.x is "done", it will release 1.4.0 and move on to 1.5.0
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Mon, 3 Feb 2020 10:18:26 +0000 (19:18 +0900)]
[subplugin] Refactor subplugin interface
Refactor subplugin interface
Add new interface for the subplugins along with the old interface
Added version number to check if old subplugin interface is used or new one
Both the interfaces are added as a union,
This will allow for staggered changes rather a big change to be made at once
V2:
- Merged operation GET_INPUT_INFO and GET_OUTPUT_INFO into 1. Now atleast one of
SET_INPUT_INFO and GET_INOUT_INFO must be supported.
- Added framework versioning helper macros
- Older framework is now version 0 and newer one is version 1
- Renamed sendEvent to eventHandler
- private_data is a double pointer only in open/close in v1
- Invoke in v1 compared to invoke_NN in v0 where private_data is not a double pointer
- Moved init and fini functions in tensor_filter_cpp for readability
V3:
Update GstTensorFilterFramework function pointers set for all filters to pass all build
V4:
Added to description - eventHandler argument `void *data` is allowed to be NULL
V5:
Added tensor filter API versions for external subplugins to verify compatibility at compile time
Renamed GET_INOUT_INFO to GET_IN_OUT_INFO for readability
V6:
Added more operations to be supported with eventHandler which allow updating the properties
Added GstTensorFilterFrameworkEventData which allows arguments to be passed dependent on the event
GstTensorFilterProperties is passed to all the callbacks
V7:
Updated destroyNotify to take private_data as an input for V0, and corresponding changes in tensor_filter and subplugins
Added allocateInInvoke for V0
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Wed, 15 Jan 2020 04:58:59 +0000 (13:58 +0900)]
[Conf/CodeClean] remove duplicated code
add internal function for sub-plugin scan.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
gichan-jang [Wed, 12 Feb 2020 02:03:06 +0000 (11:03 +0900)]
[Coverity] Fix resource leak
Fix coverity issues caused by resource leak.
CID: 1123663, 1123830, 1123853, 1123860
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Tue, 11 Feb 2020 06:39:32 +0000 (15:39 +0900)]
fix coverity CID: 1123841, 1123966
1123841 - check the return value of sensor_listener_start
1123966 - g_free the newly allocated memory
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Dongju Chae [Tue, 11 Feb 2020 10:55:00 +0000 (19:55 +0900)]
[Doc] Fix broken links for SSAT in documentation.
This commit fixes broken links for SSAT in documentation.
nnsuite/ssat is no longer available.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Mon, 20 Jan 2020 10:06:42 +0000 (19:06 +0900)]
Filter/C++: Fix potential memory leak.
dlclose() should not be called if the target-library's contents may
be refered later.
dlclose() should be called at the exit of a pipeline to avoid
memory leaks of user applications.
Thus, we need to call dlclose for all handles at the ensured exit
point.
They are named with underbar (_) because register is a keyword.
Changes in v2:
- Added lock for handles
- Don't call dlclose at exit context if it's GLIBC 2.23
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 7 Feb 2020 11:09:03 +0000 (20:09 +0900)]
[Android] add method about property
1. add new method to set/get the property in single-shot.
2. add/modify testcases for snap and property value.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 7 Feb 2020 09:15:58 +0000 (18:15 +0900)]
[Test] add new tc for single-shot property
add testcases to validate set/get property in single-shot api.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 6 Feb 2020 04:57:58 +0000 (13:57 +0900)]
[Api/Single] add new function about property
ACR required.
Add new function to set/get the property of tensor-filter in single-shot.
With this function, we can support the tensor layout in single-shot instance.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 7 Feb 2020 09:10:11 +0000 (18:10 +0900)]
[Api] code clean
1. add internal functions for complexity.
2. return proper error code in single-shot function.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Tue, 11 Feb 2020 04:21:59 +0000 (13:21 +0900)]
Fix/Coverity/1123913,1123863 : Handle thrown exception
Fix to catch exception from GTest
Coverity CID : 1123913, 1123863 and potential error code
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Tue, 11 Feb 2020 02:31:27 +0000 (11:31 +0900)]
Fix/Coverity/1123652/1123668 : Handle thrown exception
Fix to catch exception from GTest
Coverity CID : 1123652, 1123668
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Mon, 10 Feb 2020 07:37:38 +0000 (16:37 +0900)]
[C-Api] add function to get subplugin name
Add new function to get sub-plugin name and conditions to validate the nnfw is available.
TODO : add condition to check the nnfw availability.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Parichay Kapoor [Mon, 10 Feb 2020 08:10:48 +0000 (17:10 +0900)]
[single/coverity] Coverity fix
Added coverity fix of checking return value
In ml_single_set_info_in_handle: Value returned from a function is not checked for errors before being used (CWE-252)
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Mon, 10 Feb 2020 06:01:32 +0000 (15:01 +0900)]
[single/coverity] Fix coverity issue
Fix coverity issue CWE-416
Issue: In ml_single_set_info_in_handle: A pointer to freed memory is dereferenced, used as a function argument, or otherwise used
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
MyungJoo Ham [Tue, 21 Jan 2020 01:17:58 +0000 (10:17 +0900)]
Subplugin infra: dlclose & free handles at exit
We need to hold ALL handles if the pipeline is not closed.
However, after the pipeline is closed, all the handles must be
dlclosed; otherwise, the application may hold unnecessary
resources during the execution.
Changes in v2:
- Use g_ptr_array instead of garray.
Changes in v3:
- Added workaround for dlclose-racing bug of GLIBC 2.23 (Ubuntu 16.04)
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 10 Feb 2020 08:00:36 +0000 (17:00 +0900)]
Coverity/1123747/1123767/1123869: Stack Size Limit
Coverity says not to use stack variable larger than 10kB.
Move verify_data data to global so that it does not
consume the stack.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Fri, 7 Feb 2020 09:03:29 +0000 (18:03 +0900)]
[build/tizen] Identify build failure correctly
Identify the build failures correctly
Also disable the problematic unit-test of nnfw
This resolves #2081
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 7 Feb 2020 09:06:24 +0000 (18:06 +0900)]
[spec] spec file cleanup
Avoid running tests multiple times
More cleanup also added
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 6 Feb 2020 04:50:41 +0000 (13:50 +0900)]
[tests] Clean up files after tests
Clean up files created during tests with ssat
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Wook Song [Wed, 29 Jan 2020 05:54:34 +0000 (14:54 +0900)]
[Tests/Filter/MvNCSDK2] Add failure test cases
This patch adds failure test cases, which are based on the normal
pipeline launch test case.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 29 Jan 2020 05:38:42 +0000 (14:38 +0900)]
[Tests/Filter/MvNCSDK2] Update the helper class to test failure cases
This patch updates the helper class so that testing failure cases are
supported.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 28 Jan 2020 00:06:36 +0000 (09:06 +0900)]
[Dist/Tizen] Enable unit testing for mvncsdk2 tensor filter
Unit testing for mvncsdk2 tensor filter is enabled by default.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 5 Feb 2020 06:10:56 +0000 (15:10 +0900)]
[Tests/Filter/OpenVino] Add test cases for utility methods
This patch adds unit test cases for utility member methods of the
OpenVino Tensor Filter class.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 5 Feb 2020 05:14:55 +0000 (14:14 +0900)]
[Tests/Filter/OpenVino] Add negative cases for getIn/OutputDimension ()
Negative test cases for the getInputDimension and getOutputDimension
callbacks are added.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 4 Feb 2020 03:41:22 +0000 (12:41 +0900)]
[Tests/Filter/OpenVino] Add test cases for getInput/OutputDimension
This patch adds test cases for the implementation of the callbacks,
getInputDimension and getOutputDimension.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Wed, 5 Feb 2020 08:27:39 +0000 (17:27 +0900)]
[Api/CodeClean] prepare next acr
Codeclean to prepare next ACR, remove unnecessary function definition.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 6 Feb 2020 02:09:35 +0000 (11:09 +0900)]
Fix/Coverity/265573: Handle thrown exceptions
GTest APIs may throw exceptions. Handle them.
Coverity CID 265573: Error handling Issues (UNCAUGHT_EXCEPT)
/tests/cpp_methods/unittest_cpp_methods.cc: 292 in main()
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Mon, 3 Feb 2020 05:41:08 +0000 (14:41 +0900)]
[Tests/Filter/OpenVino] Add basic test cases for open/close callbacks
This patch adds basic test cases for the open and close callbacks in the
openvino tensor_filter.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 3 Feb 2020 05:38:54 +0000 (14:38 +0900)]
[Tests/Models] Add mobinet_v2 model files generated by openvino toolkit
This patch adds MobileNet V2 model files generated by model_optimizer
provided by the openvino toolkit.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 3 Feb 2020 05:29:12 +0000 (14:29 +0900)]
[Ext/Filter/Meson] Add a dependency object for openvino test cases
This patch updates the meson build script in the external tensor_filters
to provide an internal dependency on the openvino tensor filter to the
test cases for it.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 30 Jan 2020 05:20:51 +0000 (14:20 +0900)]
[Ext/Filter/OpenVino] Put the class definition in a new .hh file
This patch puts the class definition of TensorFilterOpenVino in the
header file, newly created, instead of the existing .cc file so that
test cases for the OpenVino filter could exploit the
TensorFilterOpenVino class.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Tue, 28 Jan 2020 11:13:19 +0000 (20:13 +0900)]
Start version 1.3.1
As we had dinner gathering last week,
I'm moving the version forward.
Added versioning script for future use.
Change at v2:
- Updated reversion.sh to update changelog of .spec file
Chnage at v3:
- Updated parameter checking & error messages.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Dongju Chae [Mon, 3 Feb 2020 11:36:04 +0000 (20:36 +0900)]
[TestCoverage/Fix] Generate test coverage results in gcc-9 env.
This commit generates test coverage results in gcc-9 env.
But, it requires the latest version of lcov, and some perl modules.
So, this should be done only in CI servers that can hold cached rpm
files.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Parichay Kapoor [Fri, 31 Jan 2020 12:01:21 +0000 (21:01 +0900)]
[tensor_filter] Unused variable bug resolve
Resolve bug related to unused variable
If DBG is defined, this error is raised as the variable is only used
for check silent property when DBG is not defined
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Wook Song [Tue, 28 Jan 2020 00:06:36 +0000 (09:06 +0900)]
[Dist/Tizen] Enable unit testing for mvncsdk2 tensor filter
Unit testing for mvncsdk2 tensor filter is enabled by default.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 27 Jan 2020 23:48:09 +0000 (08:48 +0900)]
[Tests/Filter/MvNCSDK2] Enable unit testing for the mvncsdk filter
This patch updates the meson build scripts to enable unit testing for
the mvncsdk tensor filter.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 28 Jan 2020 00:45:52 +0000 (09:45 +0900)]
[Tests/Models] Add Google LeNet model pre-compiled using NCSDK2
This patch adds Google LeNet model pre-compiled using NCSDK2 and its
label file to the test models directory.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 27 Jan 2020 23:43:41 +0000 (08:43 +0900)]
[Tests/Filter/MvNCSDK2] Add a basic test case
This patch adds a basic test case for the most basic execution flow
testing.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 27 Jan 2020 23:34:31 +0000 (08:34 +0900)]
[Tests/Filter/MvNCSDK2] Update meson.build to generate mock library
This patch updates the meson build script to generate a dummy shared
library that mocks libmvnc.so.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 27 Jan 2020 23:12:01 +0000 (08:12 +0900)]
[Tests/Filter/MvNCSDK2] Add a helper class for unit testing
This patch adds a helper class for unit testing of the mvncsdk2 tensor
filter.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Wed, 29 Jan 2020 10:32:05 +0000 (19:32 +0900)]
[single/caffe] Enable armnn in single-shot API
Enable support armnn for in single-shot API
Added test with caffe and tflite models
resolves #1817
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 29 Jan 2020 08:06:04 +0000 (17:06 +0900)]
[tensor_filter] Add unittest for data layout
Add unittests for added data layout property
V2:
Data layout can now be changed until the framework is opened
Once framwork is opened, updating the layouts will be supported later
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 8 Jan 2020 05:51:10 +0000 (14:51 +0900)]
[tensor_filter] Support data layout for tensor
Data layout added for tensor_filter in GstTensorFilterProperties
Four data layouts are supported
- ANY - unknown does not matter
- NHWC - referred as channels last
- NCHW - referred as channels first
- none - doesnt fit with above options
These data layouts can be different for each other/tensor in other/tensors
Layout is taken input as a string, and then parsed for each tensor
This layout is stored in tensor_filter element itself to be used by its subplugins, and not passed to other elements in the pipeline
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Wook Song [Wed, 29 Jan 2020 02:36:07 +0000 (11:36 +0900)]
[Filter/MvNCSDK] Revise error handling for unsupported API version
This patch revises the error handling mechanism for the API version of
MvNCSDK not supported by NNStreamer.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Dongju Chae [Thu, 23 Jan 2020 08:16:07 +0000 (17:16 +0900)]
[Fix] Skip duplicated paths from multiple conf sources
This commit skips duplicated paths from multiple conf sources.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Wed, 22 Jan 2020 04:09:55 +0000 (13:09 +0900)]
Style/C++: .clang-format suggestion for C++ code.
This is supposed to be applied to .cc and .hh files.
This prepares #2044
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 21 Jan 2020 06:13:43 +0000 (15:13 +0900)]
Style/C++: use .hh extensions for C++ headers
Let's C++ headers not comaptible with C use
.hh as their extensions.
This prepares #2044
Changes in v2
- Applied changes in the master branch.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 20 Jan 2020 10:14:50 +0000 (19:14 +0900)]
[Common/Android] add version info
1. add new function to get the NNStreamer version string.
2. get nnstreamer version string in Android method.
3. print log about version info when initializing the nnstreamer.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
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>