Jaeyun [Mon, 30 Nov 2020 08:50:37 +0000 (17:50 +0900)]
[Filter/TF-lite] change so name
change .so name (tensorflow-lite to tensorflow1-lite for tf-lite 1.x version)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 30 Nov 2020 08:45:51 +0000 (17:45 +0900)]
[Filter/TF-lite] subplugin name for tf-lite
change sub-plugin name for tensorflow-lite.
- Android : tensorflow-lite (only one version available)
- Tizen : tensorflow2-lite / tensorflow1-lite for each tf-lite version
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 30 Nov 2020 08:43:07 +0000 (17:43 +0900)]
[Filter/CodeClean] function description
1. add function description details.
2. add code to free old fw type before setting new string.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Dongju Chae [Wed, 2 Dec 2020 07:24:12 +0000 (16:24 +0900)]
[TensorRate/Tests] Add some unittests for tensor_rate
This patch adds some unittests for tensor_rate.
It increases the coverage of gsttensorrate.c from 67.7% to 78.3%.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Tue, 14 Jul 2020 10:45:04 +0000 (19:45 +0900)]
[Tools/Parser] Replace GST macros to dummy
We do not need to create GST objects with this parser.
Do not use GST object invoking macros.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 7 Dec 2020 11:45:51 +0000 (20:45 +0900)]
[Android/Test] stop pipeline when test is done
Add code to stop pipeline when test is done.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 7 Dec 2020 11:38:56 +0000 (20:38 +0900)]
[Android] fix resource leak
Fix test failure case, release thread specific key when closing native handle.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Wed, 2 Dec 2020 01:24:44 +0000 (10:24 +0900)]
[Filter] Update filter manual
Since new features of the filter are added, update the manual.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Fri, 4 Dec 2020 10:18:45 +0000 (19:18 +0900)]
[Android/TF-lite] method to set tf-lite delegate
parse custom option string to set tensorflow-lite delegate.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Tue, 1 Dec 2020 06:53:50 +0000 (15:53 +0900)]
[TEST] Add tensors out case when num_teensors is 1
Add tensors out test when num_tensors is 1
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Wed, 18 Nov 2020 06:58:12 +0000 (15:58 +0900)]
[TensorCommon] Add get tensors cap common function
Add get tensors cap common function.
If the number of tensors is 1, it is to cover the case that only othenr/tensors is supported by peer pad.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Fri, 20 Nov 2020 07:30:39 +0000 (16:30 +0900)]
Release of NNStreamer 1.7.1 devel
This is a developmental (unstable) release of NNStreamer 1.7.1.
1.7.0 -> 1.7.1
- Major features
- Tensor-IF, a new element. It allows to create conditional branches based on tensor values.
- Join, a new element. It merges output sinks from src pads of different elements with the same GST-Cap.
- Tensor-rate, a new element. It allows throttling by generating QoS messages.
- TensorRT support
- TF1-lite and TF2-lite coexistance
- TFx-lite NNAPI, GPU Delegation
- Minor features
- hw-accel options for tensor-filters are refactored
- python3-embed enabled if python3 >= 3.8
- Subplugin initialization optimization.
- Docker scripts for Ubuntu developers.
- Fixes
- flatbuf dependency related with tensorflow-lite.
- tensor-decoder configures framerate.
- Dynamic dimension related API issues fixed.
- MacOS, Yocto compatibility issues fixed. (A few Yocto known issues are still remaining.)
- License mismatches resolved.
- A few Test cases fixed.
- Packaging issues fixed and style cleaned-up.
- Extra
- A lot of interesting sample applications are added.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Wed, 2 Dec 2020 07:34:49 +0000 (16:34 +0900)]
[test] Fix ninja test for `join`
- Add gst_join_plugin path to testenv in meson
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 3 Dec 2020 01:12:52 +0000 (10:12 +0900)]
[unittest] Fix some unittest for yocto
- Set src_iio test with channels 3 -> 2
- Skip file permission test if the user is root
- Make division compatible with python3
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 3 Dec 2020 03:59:02 +0000 (12:59 +0900)]
[Android/TF-lite] feature for tf-lite
define features in .mk file (GPU / NNAPI delegate and types for tf-lite version)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 3 Jul 2020 08:04:21 +0000 (17:04 +0900)]
[Tools/Parser] Update gstparser's types
We do not need to load up actual GObjects for this parser.
Thus, the data structures should be simplied.
Define substitute data types for GST Elements as well.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Fri, 4 Dec 2020 04:35:38 +0000 (13:35 +0900)]
[Test] Fix resource and mem leak
Fix resource and mem leak
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Sangjung Woo [Thu, 3 Dec 2020 06:41:51 +0000 (15:41 +0900)]
[Debian] Fix the broken symlink
This patch fixes the broken symlink for DEB_HOST_MULTIARCH environment
variable.
$ dpkg-query -L nnstreamer:amd64
...
/usr/lib/$(DEB_HOST_MULTIARCH)
/usr/lib/$(DEB_HOST_MULTIARCH)/libnnstreamer.so
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Thu, 3 Dec 2020 06:18:16 +0000 (15:18 +0900)]
[Android/Build] remove unnecessary so
When building Android lib, remove unnecessary file (tf-lite lib) in ONE package.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Dongju Chae [Thu, 3 Dec 2020 01:37:41 +0000 (10:37 +0900)]
[Fix/gRPC] Fix gRPC unittests to use an unused port for each test
This patch fixes gRPC unittests to use an unused port for each test.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Yongjoo Ahn [Wed, 2 Dec 2020 07:06:08 +0000 (16:06 +0900)]
[unittest] Fix signed-unsigned compare and command line option
- Fix signed vs unsigned comapre in unittest_grpc
- Make unittest_sink properly get command line option like `--gst-plugin-path=`
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 1 Dec 2020 08:00:37 +0000 (17:00 +0900)]
[android/SNPE] Add test for multi output SNPE
- Add two tcs for testing multi output SNPE model
- One is with custom prop and the other with tensor info
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 23 Sep 2020 08:39:21 +0000 (17:39 +0900)]
[filter/SNPE] Support multiple output layers
- Existing snpe filter only use the final layer of the given model.
- This patch makes the filter support multiple output layers.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
fix
Yongjoo Ahn [Wed, 23 Sep 2020 09:33:53 +0000 (18:33 +0900)]
[doxygen] Add missing tags
- Add missing tags in SNPE sub-plugin
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Wed, 2 Dec 2020 03:15:51 +0000 (12:15 +0900)]
[Test] path to build dir
set build root (current dir) if env var is not set.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
junmin-kim [Tue, 1 Dec 2020 06:49:31 +0000 (15:49 +0900)]
[meson] Add deps declaration for tensorrt, grpc
command: meson build -Dtensorrt-support=disabled
log: ERROR: Unknown variable "tensorrt_deps".
Without empty dependency declaration, features can not recognize
"tensorrt_deps".
Ditto grpc.
Signed-off-by: junmin-kim <junmindd.kim@samsung.com>
Dongju Chae [Fri, 27 Nov 2020 03:29:26 +0000 (12:29 +0900)]
[gRPC/Tests] Add some unittests for gRPC source/sink
This patch adds some unittests for gRPC source/sink, including
- basic operations & property
- multi-pieline examples
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongju Chae [Tue, 1 Dec 2020 09:54:18 +0000 (18:54 +0900)]
[Coverage/Fix] Exclude auto-generated files from coverage analysis
This patch excludes auto-generated files from coverage analysis.
It's mostly related to protobuf/flatbuf build process.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Sangjung Woo [Tue, 24 Nov 2020 02:32:30 +0000 (11:32 +0900)]
[Filter/tflite] Support GPU Delegate on Tizen
This patch supports the GPU Delegate functionality on Tizen platform.
NNStreamer filter for TFLite2 GPU delegate only supports OpenCL backend
since GLES v3.1 backend has a constraint that Invoke() must be called
from the same EGLContext.
If both tensorflow2_lite_support and tensorflow2_gpu_delegate_support
are set as 1 in nnstreamer.spec, GPU Delegate functionality is enabled.
If tensorflow2_gpu_delegate_support is set but tensorflow2_lite_support
is 0, then tensorflow2_gpu_delegate_support option is ignored.
Since Tensorflow2 GPU delegate is ready,
tensorflow2_gpu_delegate_support is set as 1 in this patch.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Fri, 27 Nov 2020 05:55:07 +0000 (14:55 +0900)]
[android/build] Patch NDK source to prevent build error
- After Android API level 28, the introduced
`AMediaCodecOnAsyncNotifyCallback` make comile error.
- Make build script to patch this part after
https://android.googlesource.com/platform/frameworks/av/+/master/media/ndk/include/media/NdkMediaCodec.h#117
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Mon, 30 Nov 2020 06:02:12 +0000 (15:02 +0900)]
[Filter/Sub] preserved name
add preserved name 'any' in sub-plugin config.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 3 Jul 2020 01:05:23 +0000 (10:05 +0900)]
[Tools] GstPipe String Parser
Rather than rewriting lex/yacc code from scratch for python,
modify GST's lex/yacc (flex/bison) C code and call it
from python.
This is the first commit of parser and simply imports
GST-Parser code without touching it.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 20 Nov 2020 07:21:27 +0000 (16:21 +0900)]
Build script clean: nnstreamer-check built by default
The main meson script will not handle utilities
under /tools/development
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 27 Nov 2020 11:35:09 +0000 (20:35 +0900)]
[C-Api] define sub-plugin names
Fix typo and add new function to get the nnfw type by subplugin name.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 28 Oct 2020 07:11:31 +0000 (16:11 +0900)]
[Style] macro block style fix.
Let users add semicolons at the end.
Do not add semicolons at the end of the macro definition.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 28 Oct 2020 06:30:24 +0000 (15:30 +0900)]
[Style] doxygen error fixed after clang-format fix
After clang-format fix, a lot of doxygen errors are discovered.
Fix them all.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 30 Nov 2020 09:56:48 +0000 (18:56 +0900)]
[Style] Apply clang-format
Apply clang-format with the .clang-format file of nnstreamer
to all *.cc (C++) files
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 20 Nov 2020 06:09:29 +0000 (15:09 +0900)]
[Style] Update clang-format
1. Do not affect doxygen comments
2. Keep gtest include at the top.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Wed, 18 Nov 2020 09:38:42 +0000 (18:38 +0900)]
[Android/ONE] update ONE version
Prepare next release, update ONE version to 1.11.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 25 Nov 2020 06:19:58 +0000 (15:19 +0900)]
[Filter/NNFW] invalid tensor info
1. Fix invalid tensor info ptr when setting new tensor shape.
(Running dummy invoke tries to set old tensor info.)
2. Allocate dummy buffer and init to 0.
3. Handle insufficient output buffer case.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Tue, 17 Nov 2020 06:10:51 +0000 (15:10 +0900)]
[Join] Add testcases for join
Add testcases for join element.
Line coverage: 92.4%
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Dongju Chae [Tue, 17 Nov 2020 03:24:57 +0000 (12:24 +0900)]
[gRPC] Implement tensor_source (client) and tensor_sink (server)
This patch implement a reverse pair of gRPC tensor_source/tensor_sink.
(i.e., tensor_source as client and tensor_sink as server)
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Jaeyun [Thu, 26 Nov 2020 09:04:09 +0000 (18:04 +0900)]
[Android/Test] remove unnecessary format conversion
In Android testcase, remove unnecessary format conversion to glimagesink.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Dongju Chae [Thu, 26 Nov 2020 07:54:57 +0000 (16:54 +0900)]
[Fix/Debian] Fix some typos in debian/control
This patch fixes some typos in debian/control
- MUlti-Arch --> Multi-Arch
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongju Chae [Mon, 23 Nov 2020 01:29:59 +0000 (10:29 +0900)]
[TensorRate/Filter] Skip inference when QoS events arrive
This patch implements a simple QoS mechanism which skips
inference when QoS events arrive from tensor_rate.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Fri, 20 Nov 2020 02:29:51 +0000 (11:29 +0900)]
[DIST/RPM] Code Clean .spec for readability and non-Tizen users
1. .spec file code cleaned for readability
2. reflect recent changes in usage conditions of a few subplugins
3. allow to use CAPI in other Linux distros.
Addresses #2564
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Mon, 23 Nov 2020 05:30:09 +0000 (14:30 +0900)]
[Android/Doc] Add guide for using NNAPI delegate to README
- Add guide for using TensorFlow Lite NNAPI delegate to README.md
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Wed, 18 Nov 2020 09:31:32 +0000 (18:31 +0900)]
[Android/Test] testcases for new methods
Add testcases for methods to set surface and check element availability.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 18 Nov 2020 09:28:37 +0000 (18:28 +0900)]
[Android/Api] method to check element availability
Add new method to check element available on the pipeline.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 20 Nov 2020 09:29:57 +0000 (18:29 +0900)]
[Build] fix warning (type conversion)
fix warning in android native build (type conversion)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Fri, 20 Nov 2020 04:58:20 +0000 (13:58 +0900)]
[SPEC] Add capi-nnstreamer-devel Requires to capi-nnstreamer package
Since the rootstrap of Tizen v6.5 is not ready, some application built
on v6.0 needs libcapi-nnstreamer.so file. Because of this reason, this
patch temporarily adds the capi-nnstreamer-devel Requires to
capi-nnstreamer package. It will be removed when the rootstrap of Tizen
v6.5 is ready.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Thu, 19 Nov 2020 09:33:18 +0000 (18:33 +0900)]
[Android] fix invalid window error
prevent invalid window handle case.
video-sink does not set new window handle directly. If video-sink accesses released window handle, this will crash an application.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Dongju Chae [Thu, 15 Oct 2020 08:36:26 +0000 (17:36 +0900)]
[Tools/Confchk] Show custom property description for sub-plugins
This patch adds feature to show custom property description for
registered sub-plugins.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Tue, 30 Jun 2020 10:35:32 +0000 (19:35 +0900)]
[Tools] GstPipe<-->Pbtxt Conversion / Skeleton
Skeleton code for GstPipe<-->Pbtxt Conversion.
Ultimately, we can use web-based WYSIWYG tools based on this! (next year or later)
This commit offers a python script that construct a pipeline object
from a parsed GstPipeline string and generate a pbtxt pipeline from it.
Next step: write a parser of GstPipeline (modify Gstreamer's .y and .l)
Changes in V2:
- Applied change requests from reviewers. (var names, SPDX, )
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Wed, 18 Nov 2020 08:55:06 +0000 (17:55 +0900)]
[NNFW] print retry count log
For debug, add log retry count in set-dimension function.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Thu, 22 Oct 2020 06:23:36 +0000 (15:23 +0900)]
[TensorIF] Add custom callback
Add custom callback to support user defined condition
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Tue, 27 Oct 2020 03:07:43 +0000 (12:07 +0900)]
[TensorIF] Add testcases for custom condition
Add testcases for custom condition
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Wed, 11 Nov 2020 02:49:28 +0000 (11:49 +0900)]
[JOIN] Support packaging for join element
To provide rpm and debian package of join element.
Package is provied by nnstreamer-extra package.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Tue, 10 Nov 2020 09:08:21 +0000 (18:08 +0900)]
[JOIN] Add new element join
Add new gstreamer element: join
The join select the out that arrived first among the input streams.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Thu, 12 Nov 2020 06:05:26 +0000 (15:05 +0900)]
[Android] method to set surface
Add new method to set a surface to video-sink element.
In Android application, developer can simply set SurfaceHolder object to glimagesink.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Mon, 26 Oct 2020 05:33:32 +0000 (14:33 +0900)]
[Filter/TensorRT] Add unit testcases for TensorRT filter
This patch newly adds unit testcases for TensorRT filter.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Fri, 23 Oct 2020 06:32:53 +0000 (15:32 +0900)]
[Filter/TensorRT] Add a sub-plugin filter for TensorRT
This patch newly adds an sub-plugin filter for TensorRT to support
Nvidia GPU. It is implemented based on tensor_filter_subplugin class and
catches the DESTROY_NOTIFY event to clean up the used GPU memory.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Mon, 16 Nov 2020 11:25:37 +0000 (20:25 +0900)]
[C-Api] element availability
Add new function to check the element availability (registered and not restricted)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 17 Nov 2020 11:44:41 +0000 (20:44 +0900)]
[CodeClean] indent and common function
Code clean, fix indent and common ptr to handle tensor info struct.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Fri, 13 Nov 2020 05:06:57 +0000 (14:06 +0900)]
[Debian] Modify nnstreamer install files
Modify the install file list since grpc and join are newly added to the gst path.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Dongju Chae [Wed, 4 Nov 2020 10:36:43 +0000 (19:36 +0900)]
[gRPC/Sink] Implement gRPC tensor sink
This patch implements gRPC tensor sink as a client.
Its gRPC server mode is WIP.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
gichan-jang [Thu, 5 Nov 2020 00:58:44 +0000 (09:58 +0900)]
[TensorFilter] Add unit testcases for input and output combination
Add unit testcases for input and output combination options.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Fri, 30 Oct 2020 01:42:13 +0000 (10:42 +0900)]
[TensorFilter] Combined Tensor Picking
Add options for input and output combination.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Dongju Chae [Tue, 10 Nov 2020 07:55:59 +0000 (16:55 +0900)]
[Tizen/gRPC] check gRPC capability in nnstreamer.spec
This patch enables gRPC plugin in DA profile.
The below shows gRPC package status in each profile.
- DA: gRPC 1.20.1
- VD: None
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
gichan [Sun, 1 Nov 2020 10:11:25 +0000 (19:11 +0900)]
[TensrDemux] Add testcases for tensors out
Add testcases for tensors out.
Re-use of the tensor and non-sequential combinations are also possible.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Sat, 31 Oct 2020 08:22:27 +0000 (17:22 +0900)]
[TensorDemux] Support other/tensors on src pads
Changed to suppot ohter/tensors on src pads.
Related issue: #2844
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yongjoo Ahn [Wed, 11 Nov 2020 02:44:41 +0000 (11:44 +0900)]
[filter/tflite] Define macro for version check
- Add version check macro for delegate support
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 5 Nov 2020 11:46:03 +0000 (20:46 +0900)]
[Android/tflite] Support gpu delegate
- Support gpu delegate for tflite-2.3.0
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
ffix
Yongjoo Ahn [Thu, 5 Nov 2020 09:52:16 +0000 (18:52 +0900)]
[Android] Bump up the minimum SDK version
- Tflite gpu delegate requires sdk version higher than 28
- Bump up the minimum sdk version from 24 to 28
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Fri, 6 Nov 2020 11:34:53 +0000 (20:34 +0900)]
[Test/NNFW] fix invalid tc
nnfw-1.10 was released and now supports dynamic dimension.
Enable testcases and fix invalid test conditions.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 11 Nov 2020 06:21:21 +0000 (15:21 +0900)]
Add CII Best Practices Badges
LF-AI/Data recommends to maintain CII Best Practices checks.
This badge shows the status.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Dongju Chae [Mon, 26 Oct 2020 11:52:41 +0000 (20:52 +0900)]
[gRPC/Packaging] Support packaging for nnstreamer-grpc
This patch supports packaging for nnstreamer-grpc.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongju Chae [Mon, 26 Oct 2020 11:51:51 +0000 (20:51 +0900)]
[gRPC/Source] Implement gRPC tensor source
This patch implements gRPC tensor source as a server.
Its gRPC client mode is WIP.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongju Chae [Mon, 26 Oct 2020 11:12:22 +0000 (20:12 +0900)]
[gRPC/protobuf] Implement a helper class for NNStreamer gRPC service
This patch implements a helper class for NNStreamer gRPC service.
It appends the definition of gRPC service to 'nnstreamer.proto'.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Yongjoo Ahn [Fri, 6 Nov 2020 08:31:37 +0000 (17:31 +0900)]
[unittest] Fix signed-unsigned comapre
- Fix gtest's complaint about signed-unsinged comapre in unittest_if
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Mon, 19 Oct 2020 07:45:10 +0000 (16:45 +0900)]
Update test cases for dimension string when it is explicitly given in Pipeline
If the dimension string is explicitly given in the pipeline, the
returned dimension string by g_object_get() should return the same
value. This patch update related test cases and adds a new one.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 19 Oct 2020 07:42:40 +0000 (16:42 +0900)]
Update dimension string when it is explicitly given in Pipeline
Even though the dimension string of the input tensor is given in the
pipeline, the 'input` property is always fixed 4 dimensions (i.e.
d1:d2:d3:d4). This patch returns the dimension string considering tensor
dimension and rank count.
For example, given tensor filter parameters
'tensor_filter input=3:224:224', the returned dimension string is
'3:224:224' instead of '3:224:224:1'.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Mon, 2 Nov 2020 11:02:47 +0000 (20:02 +0900)]
[Android] handle invalid context
Handle invalid param case -init nnstreamer with invalid context.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 2 Nov 2020 11:22:21 +0000 (20:22 +0900)]
[Android] codeclean
1. move native methods registration to each file.
2. add new function to get data ptr in native.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Parichay Kapoor [Tue, 3 Nov 2020 05:40:17 +0000 (14:40 +0900)]
[tensorfilter] Set default framework when no priority
tensor_filter auto detection of framework takes in the extension
and for tflite extension tries to identify the framework using
a priority set with the configuration.
however, in case, the priority string is NULL, no tensor_filter
framework is set although multiple tensor_filters supporting
this extension can exist.
This patch sets a default framework for tflite extension which is
overwritten based on the priority if priority exists.
**Self evaluation:**
1. Build test: [x]Passed [ ]Failed [ ]Skipped
2. Run test: [x]Passed [ ]Failed [ ]Skipped
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Yongjoo Ahn [Fri, 30 Oct 2020 07:47:33 +0000 (16:47 +0900)]
[Android/tflite] Fix NNAPI inference bug
- Use NNAPI delegate directly instead of deprecated `UseNNAPI` method.
- Resolve #2755.
- REF: https://github.com/tensorflow/tensorflow/commit/
bf6f488c1102a88252960c4c8b90f6122e966b14
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Fri, 30 Oct 2020 11:07:16 +0000 (20:07 +0900)]
[Android] fix invalid handle case
Prevent invalid element handle case, compare element type when getting the element handle in hash table.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Thu, 29 Oct 2020 07:00:12 +0000 (16:00 +0900)]
[android/test] Add negative test cases with Options
- Add three negative test cases for newly added `Options`
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 29 Oct 2020 06:59:15 +0000 (15:59 +0900)]
[android/SingleShot] Add Options class for configuring SingleShot instance
- Add Options to configure SingleShot instance preparing new features that might be added in future
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Fri, 30 Oct 2020 02:11:47 +0000 (11:11 +0900)]
[Repo] Fix the assertion error when executing `gst-inspect-1.0 command
When executing `gst-inspect-1.0 tensor_reposrc' command, below error
occurs.
======================
$ gst-inspect-1.0 tensor_reposrc
...
** (gst-inspect-1.0:29483): CRITICAL **:
gst_tensor_repo_remove_repodata: assertion '_repo.initialized' failed
======================
The main reason that the disposal callback always removes the repodata
even though it is not initialized and it causes the assertion error.
This patch fixes that bug.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
gichan-jang [Wed, 28 Oct 2020 02:00:11 +0000 (11:00 +0900)]
[TensorIF] Fix unit test fail on arm arch
The pipeline state changed to NULL before saving the result file due to slow speed of arm.
Give enough time or wait until the file is created.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Thu, 29 Oct 2020 11:17:45 +0000 (20:17 +0900)]
[Filter/tflite] Remove NNAPI option
- Remove NNAPI custom prop
- Enable NNAPI after the accelerator property
- @todo Support appropriate delegates after the accelerator prop
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 29 Oct 2020 11:37:26 +0000 (20:37 +0900)]
[Android/Build] remove unnecessary build flag
remove unnecessary build flag - nnapi in jni is for nn-runtime.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Wed, 14 Oct 2020 01:58:04 +0000 (10:58 +0900)]
[Test] Testcase for rank count logic in Tensor Filter
This patch newly adds the test cases for rank count logic in Tensor
Filter.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 14 Oct 2020 01:52:06 +0000 (10:52 +0900)]
[Filter] Add rank count logic to GstTensorFilterProperties
This patch newly adds the rank count logic to GstTensorFilterProperties.
The rank count is automatically calculated based on the given dimension
string and NNStreamer rank count rule.
For example, given tensor filter parameters, input ranks are calculated
as follows.
* 'tensor_filter input=3:224:224': input rank is 3.
* 'tensor_filter input=3:224:224:1': input rank is 4.
* 'tensor_filter model=mobilenet_v1.tflite': input rank is 3 since input
dimension of given model is '3:224:224'.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Dongju Chae [Wed, 28 Oct 2020 06:42:31 +0000 (15:42 +0900)]
[README.md] Add hall-of-fame section to README.md
This patch adds hall-of-fame section to README.md
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Mon, 21 Sep 2020 06:34:47 +0000 (15:34 +0900)]
Filter/TF2-Lite: remove unnecessary if in meson
TF2-Lite has all such data types enabled.
We do not need to check them.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 21 Sep 2020 07:13:25 +0000 (16:13 +0900)]
Filter/TF2-Lite: fix dependnecy big (meson)
tf2-lite should use tf2-lite dependency.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Bumsik Kim [Tue, 27 Oct 2020 04:28:15 +0000 (21:28 -0700)]
[tensor_filter_common] Fix a wrong example in accelerator prop spec
This patch fixes the wrong accelerator example in the prop spec.
This helps other developers to avoid confusions.
In actual tests, the true:(GPU,NPU,!CPU) format fails to be accepted so
that it switches to default mode. Also test cases do not cover such
format as well [1].
It also adds a note where to find available accelerator names.
[1]:
https://github.com/nnstreamer/nnstreamer/blob/main/tests/nnstreamer_filter_tensorflow_lite/runTest.sh#L108
Signed-off-by: Bumsik Kim <k.bumsik@gmail.com>
Wook Song [Tue, 27 Oct 2020 09:13:25 +0000 (18:13 +0900)]
[Dist/Debian] Move libcapi-nnstreamer.a and .so to the development package
This patch removes libcapi-nnstreamer.a from the main package and moves
libcapi-nnstreamer.so to the development package.
Signed-off-by: Wook Song <wook16.song@samsung.com>