MyungJoo Ham [Thu, 7 Jul 2022 08:04:49 +0000 (17:04 +0900)]
filter/python3: support multi-threaded python custon filters.
Use Python GIL for multi-threaded python custom filters.
Don't use a local lock, use GIL.
Fixes #3822
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
ps. The execution result of CV2 enabled python code of #3822:
```
$ gst-launch-1.0 videotestsrc num-buffers=10 ! video/x-raw,format=RGB,width=280,height=40 ! tensor_converter ! tensor_filter framework=python3 model=p2.py input=3:280:40:1 inputtype=uint8 output=3:280:40:1 outputtype=uint8 ! tensor_decoder mode=direct_video ! videoconvert ! ximagesink
init_filter_py:844
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
--- USE_CV2:True /source/AutoDrv/NNStreamer/tests/p2.py (33600,)
Got EOS from element "pipeline0".
Execution ended after 0:00:00.
333332913
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
```
MyungJoo Ham [Wed, 6 Jul 2022 04:54:52 +0000 (13:54 +0900)]
[github-action] Run GBS in github-action
Run gbs in github-action for more Tizen testing.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 6 Jul 2022 09:37:16 +0000 (18:37 +0900)]
doc/coding-convention: update the changes of recent years.
Coding convention for C++ has become more concrete and the components of nnstreamer and its neighbor have been updated.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Thu, 7 Jul 2022 03:40:28 +0000 (12:40 +0900)]
[Tests] Remove unnecessary line feeds in the runTest.sh files
This patch removes unnecessary line feed in the middle of the string
from the runTest.sh files.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 1 Jul 2022 11:57:09 +0000 (20:57 +0900)]
[Tests/Query] Revise runTest.sh to support macOS
grep in macOS does not have -P, --perl-regexp. In addition, the stat's
option to specify a format also differs from that of Linux distros. This
patch revises runTest.sh to support macOS by applying the above
differences.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 5 Jul 2022 09:01:41 +0000 (18:01 +0900)]
[tests/gRPC] Change the hard-coded shared object's extension
This patch changes the hard-coded string, indicating the shared object's
extension, to SO_EXT provided by the SSAT API.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 5 Jul 2022 08:52:58 +0000 (17:52 +0900)]
[tests/gRPC] Use ssat-api to check the size of marker.log
In order to make the test script more portable, this patch changes the
stat command line checking the size of marker.log to the universal
command provided by the SSAT API.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Wed, 6 Jul 2022 09:31:32 +0000 (18:31 +0900)]
doc/API-reference: elaborate the document.
Add some explanations to the topic lists.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Wed, 6 Jul 2022 04:58:49 +0000 (13:58 +0900)]
[Edge] migrating edge library
Prepare uploading edge library.
- temporally rename edge library in nnstreamer
- remove unnecessary param in edge APIs
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Wook Song [Thu, 30 Jun 2022 08:55:25 +0000 (17:55 +0900)]
[Tests/gRPC] Prepare a fallback value for PATH_TO_PLUGIN
In case NNSTREAMER_BUILD_ROOT_PATH is not defined, the test cases for
gRPC might run in an unintentional way. To this end, this patch adds a
fallback value for PATH_TO_PLUGIN to runTest.sh.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Tue, 21 Jun 2022 04:48:30 +0000 (13:48 +0900)]
dist/Ubuntu: enable Float16 support
Enable Float16 support in deb build.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 21 Jun 2022 04:46:07 +0000 (13:46 +0900)]
dist/Tizen: Enable FLOAT16 in Tizen x64/arm64/arm32
Although tensor-transform doesn't support fp16, yet,
let's enable fp16 support for further development.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 22 Jun 2022 05:37:25 +0000 (14:37 +0900)]
test: float16 arithmetic
By default, float16 tests are not critical.
However, if the envvar, "FLOAT16_SUPPORTED" is 1, they become
critical.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 17 Jun 2022 04:26:33 +0000 (13:26 +0900)]
tensor-transform: float16 support.
ORC/SIMD support not included.
Float16 w/ heavy tensor-transform is not recommended.
- Generate error if float16 is used in unsupported build
- Generate warning if float16 op is used too heavily (it's slow!)
- Future todo: support SIMD for float16 ops
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 17 Jun 2022 02:26:55 +0000 (11:26 +0900)]
tensor-filter subplugins: add FLOAT16 support
Add float16 support for a few subplugins
with possible float16 usages.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 10 Jun 2022 04:26:04 +0000 (13:26 +0900)]
Introduce FLOAT16 stream type
Add FLOAT16 type.
Fortunately, gcc for x64, aarch64, and arm has extension for
float16.
@todo: update meson script so that arch-specific compiler
options for float16 can be added if float16 is enabled.
Addressed #3784
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Thu, 30 Jun 2022 08:42:17 +0000 (17:42 +0900)]
[gRPC/Common] Modify hard-coded strings indicating sub-plugins' names
This patch modifies the hard-coded strings (e.g., libnnstreamer_grpc_*.so)
which indicate the file name of the sub-plugins to use the pre-defined
file extensions according to the platform.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 30 Jun 2022 11:07:05 +0000 (20:07 +0900)]
[Ext/Meson] Use find_program() instead of 'which'
This patch changes the way to find 'grpc_cpp_plugin' to use
find_program(), the built-in function provided by Meson.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Mon, 27 Jun 2022 10:53:25 +0000 (19:53 +0900)]
[Edge] prepare migration
Change header name for nnstreamer edge library.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 24 Jun 2022 10:47:02 +0000 (19:47 +0900)]
[Edge] refactoring edge cmd
Refactoring to send/receive edge command and buffer.
- define command info struct to handle command, id, and memories.
- util functions to init, clear edge command.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 22 Jun 2022 08:02:03 +0000 (17:02 +0900)]
[Edge] client IDs in handle
Remove global table for client IDs, and move it to edge handle.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 15 Jun 2022 08:44:20 +0000 (17:44 +0900)]
[Edge] new function to invoke event callback
Add new function to invoke event and export edge-event functions.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Julien Vuillaumier [Tue, 28 Jun 2022 07:31:40 +0000 (09:31 +0200)]
[Filter/TFLite] Fix model tensors allocation not working for some delegates
This change is correction for error below reported by the TFlite library
during Invoke():
"Invoke called on model that is not ready."
Tensors allocation may be done by TFLite framework during call to
ModifyGraphWithDelegate() but that is not guaranteed.
Therefore, even if delegates are used, tensors allocation must be done
explicitly with AllocateTensors(), prior to inferencing with Invoke().
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Jaeyun [Fri, 24 Jun 2022 06:05:29 +0000 (15:05 +0900)]
[Edge] invalid data info when copying edge data
Fix mem leak and invalid data info when copying edge-data.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 20 Jun 2022 07:56:26 +0000 (16:56 +0900)]
[Edge] util functions for edge data
Add new functions for edge data.
- The edge-data type is unnecessary when creating data handle.
- Client ID will be used in the pipeline, as a meta of buffer.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 20 Jun 2022 08:11:23 +0000 (17:11 +0900)]
[Edge] code clean
Code clean, check returned err-code and params. Prevent null ptr exception case.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 10 Jun 2022 10:51:47 +0000 (19:51 +0900)]
[Edge] base code for mutex lock
Update macros and mutex lock in edge handle.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 20 Jun 2022 04:52:54 +0000 (13:52 +0900)]
[trivial] Fix typos in the spec file
- Fix some typos in `nnstreamer.spec`.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Tue, 7 Jun 2022 09:39:01 +0000 (18:39 +0900)]
[Edge] Add tcp implementation
- Add NNStreamer-edge TCP implementation.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Fri, 17 Jun 2022 02:18:29 +0000 (11:18 +0900)]
[Edge] possible mem leak
Fix svace issue, mem leak case when connection is failed.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 9 Jun 2022 08:37:52 +0000 (17:37 +0900)]
test/grpc: correct parallel unit test calls
1. Do not fork ssat-api functions
2. Do not sleep constant time. Check the launch process.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Tue, 14 Jun 2022 07:39:15 +0000 (16:39 +0900)]
[Edge] remove unnecessary function
Code clean, remove unnecessary function and fix invalid return.
The edge-handle may have multiple connections, checking connection is unnecessary.
Instead, we will add internal function for each socket.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 13 Jun 2022 08:06:10 +0000 (17:06 +0900)]
[Doc] Add yocto daily build result in README.md
- Add a link to build result of yocto (nnstreamer/meta-neural-network)
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 14 Jun 2022 08:34:15 +0000 (17:34 +0900)]
[spec] Fix spec to cut the depedency on custom tflite in 64-bit
- In 64-bit the dep is like "libtensorflow2-lite-custom.so()(64bit)"
- To cut this properly, replace "so" with "*"
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Thu, 2 Jun 2022 08:58:08 +0000 (17:58 +0900)]
tests: build error w/ higher gcc & lower gtest
If you have gcc >= 11 and gtest <= 1.8, you may have build errors:
/usr/src/gtest/src/gtest-death-test.cc: In function ‘bool testing::internal::StackGrowsDown()’:
/usr/src/gtest/src/gtest-death-test.cc:1009:24: error: ‘dummy’ may be used uninitialized [-Werror=maybe-uninitialized]
1009 | StackLowerThanAddress(&dummy, &result);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/src/gtest/src/gtest-death-test.cc:999:6: note: by argument 1 of type ‘const void*’ to ‘void testing::internal::StackLowerThanAddress(const void*, bool*)’ declared here
999 | void StackLowerThanAddress(const void* ptr, bool* result) {
| ^~~~~~~~~~~~~~~~~~~~~
/usr/src/gtest/src/gtest-death-test.cc:1007:7: note: ‘dummy’ declared here
1007 | int dummy;
| ^~~~~
As gtest's code is not our test target, let the compiler ignore warnings of gtest codes.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Wed, 11 May 2022 07:29:20 +0000 (16:29 +0900)]
[Edge] add mqtt functions
Add internal functions to handle mqtt message.
This is initial commit for mqtt-hybrid feature after separating the edge library.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 10 Jun 2022 10:12:39 +0000 (19:12 +0900)]
[Edge] handle magic validation
Before adding mutex lock, update magic validation.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 9 Jun 2022 07:42:03 +0000 (16:42 +0900)]
test/query: update gtest utc for updated protocol property.
We now use enum type for protocol property, which is NO MORE case insensitive.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 9 Jun 2022 04:44:15 +0000 (13:44 +0900)]
Query: fix protocol property handling
Protocols are enum. Use enum-param, not int or string.
With this, users can use both numbers and enum-strings.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Jun 2022 04:59:39 +0000 (13:59 +0900)]
doc/filter subplugin: brief guide on how to write subplugin
To clarify which mechanism to use for new tensor-filter subplugin,
added a short guide on how to write tensor-filter subplugin.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 19 Apr 2022 10:23:50 +0000 (19:23 +0900)]
deb: cut the dependency on custom tflite binary
Custom tflite binary is supposed to be installed by users
afterwards.
Thus, cut the dependency from the deb packaging.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 19 Apr 2022 07:41:24 +0000 (16:41 +0900)]
dist: cut the dependency on custom tflite binary
Custom tflite binary is supposed to be installed by users
afterwards.
Thus, cut the dependency from the rpm packaging.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 14 Apr 2022 11:29:13 +0000 (20:29 +0900)]
Tensorflow-lite custom bin support: Plan B implemented
This addresses plan B of #3713
$ ldd build/ext/nnstreamer/tensor_filter/libnnstreamer_filter_tensorflow2-lite-custom.so
linux-vdso.so.1 (0x00007fffe21f2000)
libnnstreamer-single.so => /source/AutoDrv/NNStreamer/build/ext/nnstreamer/tensor_filter/../../../gst/nnstreamer/libnnstreamer-single.so (0x00007f08b5bba000)
/source/AutoDrv/NNStreamer/ext/nnstreamer/tensor_filter/libtensorflow2-lite-custom.so (0x00007f08b50a5000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f08b4ea1000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f08b4b8a000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f08b477d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f08b4565000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f08b4174000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f08b3f70000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f08b3d1c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f08b3afd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f08b5ff8000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f08b388b000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f08b34ed000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f08b32e5000)
After this, we need the following commits.
1. a manual how to use tflite2-custom. (at /ext/nnstreamer/tensor-filter?)
2. a test case for tflite2-custom.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 9 Jun 2022 08:23:43 +0000 (17:23 +0900)]
test/query: parallel client launching shouldn't use gstTest
Don't use & fork with bash function.
Add timeout for launching.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Jun 2022 01:39:49 +0000 (10:39 +0900)]
bash scripts: use python3 instead of python
We are removing python2 dependencies.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 2 Jun 2022 07:20:50 +0000 (16:20 +0900)]
dist/Ubuntu: remove python2 dependency
Use python3 instead.
Addressing #3774
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 2 Jun 2022 06:52:24 +0000 (15:52 +0900)]
dist/Tizen: remove python2 dependency.
Use python3 instead.
Addressing #3774
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 2 Jun 2022 06:50:48 +0000 (15:50 +0900)]
python scripts: use python3 instead of python in shebang.
From tests/*, tools/*, removing the usage of python3, update shebang.
Addressing #3774
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Thu, 9 Jun 2022 03:40:45 +0000 (12:40 +0900)]
[Log] use internal log function
Replace logutil - glib funcs, use predefined log functions.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 9 Jun 2022 06:56:57 +0000 (15:56 +0900)]
test/query: use get_available_port.py
Use get_available_port.py instead of RANDOM number.
Moved get_available_port.py from nnstreamer_grpc to tests as it has now become a common test utility.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Jun 2022 06:29:36 +0000 (15:29 +0900)]
test/query: wait for server launching, not 5 sec.
1. With busy CI servers, you don't know how much time it takes
to launch tensor-query-server instances.
Thus, wait for the pipeline launching, not a constant time.
Besides, you can use "wait" command for server exit.
2. Do not use & for ssat apis.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Julien Vuillaumier [Mon, 16 May 2022 16:59:52 +0000 (18:59 +0200)]
[filter/deepview-rt] Add filter subplugin for DeepViewRT
This change implements a tensor filter subplugin to interface
with DeepViewRT inference engine:
https://www.embeddedml.com/deepviewrt
Plugin can be instanciated using NNStreamer filter element
with relevant properties:
tensor_filter framework=deepview-rt model=<rtm model file>
[custom=[Engine:<path to engine shared lib>]
[Cache:<cache size in MiB>]
[MemPool:<memory pool size in MiB>]]
SSAT test suite addition for DeepView RT tensor filter plugin.
Sample model (mobilenet_v1_0.25_224.rtm) is derived from public
tflite model, converted to rtm format per procedure below:
$ wget http://download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_0.25_224.tgz
$ tar xvf mobilenet_v1_0.25_224.tgz
$ deepview-converter ./mobilenet_v1_0.25_224.tflite ./mobilenet_v1_0.25_224.rtm
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Jaeyun [Thu, 12 May 2022 11:24:34 +0000 (20:24 +0900)]
[Edge] base code for edge event
Update base code to handle edge event.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 12 May 2022 10:55:50 +0000 (19:55 +0900)]
[Edge] code clean
1. Fix code style and condition to set raw data.
2. Use malloc instead of glib function.
TODO: implement lock to handle edge handles.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 15 Apr 2022 07:45:13 +0000 (16:45 +0900)]
filter:tf-lite2-custom usage manual
For #3713, add a usage manual because it may be not too trivial
for non-system-sw developers.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Julien Vuillaumier [Fri, 3 Jun 2022 09:11:47 +0000 (11:11 +0200)]
[meson] Fix Yocto Kirkstone build issue
A build configuration error is seen on Yocto Kirkstone (4.0)
coming from commit:
https://github.com/nnstreamer/nnstreamer/commit/
0584ce06e30f1dbb188bce2b370df53d335046dd
Signature of error:
meson.build:505:4: ERROR: Command "//recipe-sysroot-native/usr/bin/python3-native/python3 -m site --user-site" failed with status 1
Building with Yocto, native tools are sandboxed in build workspace,
there is no python user site.
This change is to prevent meson configuration to break when no user
site package is present.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Wook Song [Mon, 23 May 2022 07:57:45 +0000 (16:57 +0900)]
[Meson] Fix warnings related to the run_command call
This patch sets the keyword argument, 'check', of the run_command
function to true in order to fix the following warnings:
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to true in future releases of meson.
See also: https://github.com/mesonbuild/meson/issues/9300
Signed-off-by: Wook Song <wook16.song@samsung.com>
Julien Vuillaumier [Tue, 31 May 2022 08:43:29 +0000 (10:43 +0200)]
[decoder/bounding_box] Fix ssd box decoding without postprocessing
Boxes whose detection scores do not exceed the specified sigmoid
threshold shall never be reported as valid.
This changeset fixes current implementation whereby valid field
for a box is set only when its detection scores have passed the
threshold tests. Thus, if score test is not passed, valid field for
a box is inherited from the previous box score tests.
Therefore without this change, whenever one box passes the score
criteria, every subsequent boxes will be reported as valid, even though
their detection scores are low.
As a consequence, a very big number of boxes may be passed to the
next stage of NMS processing which causes processing overhead.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Wook Song [Tue, 31 May 2022 14:54:19 +0000 (23:54 +0900)]
[macOS/Doc] Replace 'nnsuite' with 'nnstreamer'
This patch replaces the old organization name, nnsuite, remaining
in the Getting Started document with the current one, nnstreamer.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 31 May 2022 01:19:59 +0000 (10:19 +0900)]
[Tests/IF] Fix a build error related to -Winconsistent-missing-override
This patch fixes the following build error while compiling with clang in
macOS.
With clang in macOS:
../tests/nnstreamer_if/unittest_if.cc:65:8: error: 'TearDown' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
void TearDown ()
^
/opt/homebrew/Cellar/googletest/1.11.0/include/gtest/gtest.h:481:16: note: overridden virtual function is here
virtual void TearDown();
^
1 error generated.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 23 May 2022 09:17:41 +0000 (18:17 +0900)]
[macOS/meson] Add a missing parameter to the sed's in-place edit option
In macOS, the '-i' option of the sed command requires a parameter to
tell what extension to use for the backup file. To this end, this patch
appends '.bak' to the '-i' option to fix the build errors on macOS.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Muhwan Kim [Sun, 22 May 2022 19:48:21 +0000 (04:48 +0900)]
[mxnet] Add Doxygen tags for Predictor.hh
To suppress CI's complain and specify where this code came from.
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 22 May 2022 19:42:06 +0000 (04:42 +0900)]
[mxnet] Change license of test code to LGPL-2.1
Detailed discussion here: PR #3742
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 22 May 2022 19:40:53 +0000 (04:40 +0900)]
[mxnet] Use __FILE__ instead of hard-coded path to generate log message
__FILE__ macro is better, elegant way to print file names.
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:53:03 +0000 (03:53 +0900)]
[mxnet] Use copy option to suppress deprecation warning
meson have copy option for this usage
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:49:35 +0000 (03:49 +0900)]
[mxnet] Use official MXNet MXDType
Use datatype enum from MXNet instead of copied one
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:48:29 +0000 (03:48 +0900)]
[mxnet] Include nnstreamer_plugin_api.h
Use nnstreamer_plugin_api.h which is recommended
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:36:33 +0000 (03:36 +0900)]
[mxnet] Fix minor format issue
Add newline character to reduce line length
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:34:33 +0000 (03:34 +0900)]
[mxnet] Use kFileLocation instead of kFileUrl
We can still generate good message using kFileLocation.
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:32:42 +0000 (03:32 +0900)]
[mxnet] Fix typo
Fix typo speces -> spaces
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:31:55 +0000 (03:31 +0900)]
[mxnet] Change license of test script to LGPL-2.1
For this, being LGPL 2.1 doesn't incur problems (in PR #3742)
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 1 May 2022 18:08:55 +0000 (03:08 +0900)]
[mxnet] Fix install directory of tests
Fix typo of unittest_filter_mxnet install directory reference.
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
makesource [Tue, 26 Apr 2022 13:10:13 +0000 (22:10 +0900)]
[mxnet] Add mxnet related variables in nnstreamer.mk
Add NNSTREAMER_FILTER_MXNET_SRCS vars in nnstreamer.mk
Signed-off-by: makesource <makesource@gmail.com>
makesource [Tue, 26 Apr 2022 13:07:30 +0000 (22:07 +0900)]
[mxnet] Add unistd.h header in tensor_filter_mxnet
Add unistd.h header to use R_OK macro.
Signed-off-by: makesource <makesource@gmail.com>
makesource [Tue, 26 Apr 2022 12:51:53 +0000 (21:51 +0900)]
[mxnet] Disable name mangling
Disable name mangling for init_filter_mxnet, fini_filter_mxnet functions.
Signed-off-by: makesource <makesource@gmail.com>
Muhwan Kim [Sun, 24 Apr 2022 05:17:36 +0000 (14:17 +0900)]
[mxnet] Add doxygen tags on top of simple_test_mxnet.cc
Add omitted some tags on top
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sun, 24 Apr 2022 04:48:14 +0000 (13:48 +0900)]
[mxnet] Convert comments into doxygen style
Convert original comments into @brief of doxygen style comments
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Sat, 23 Apr 2022 08:35:31 +0000 (17:35 +0900)]
[mxnet] Initialize sourceid before use
Added initialize of sourceid
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Wed, 6 Apr 2022 14:42:05 +0000 (23:42 +0900)]
[mxnet] Fix build error in test code
Fix the unused variable errors by adding UNUSED lines
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Wed, 23 Mar 2022 08:23:30 +0000 (17:23 +0900)]
[mxnet] Fix unused parameter error
Fix build error by adding UNUSED lines
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Muhwan Kim [Wed, 23 Mar 2022 08:18:12 +0000 (17:18 +0900)]
[mxnet] Applied clang-format
Fix code format to follow .clang-format file
Signed-off-by: Muhwan Kim <mhkim4886@gmail.com>
Bumsik Kim [Mon, 26 Oct 2020 11:53:29 +0000 (04:53 -0700)]
[UNTESTED][mxnet] Add TensorRT support
Add TensorRT support for nnstreamer-filter-mxnet.
Like the previous commit, I will remove [UNTESTED] tag
after testing.
Signed-off-by: Bumsik Kim <k.bumsik@gmail.com>
Bumsik Kim [Mon, 26 Oct 2020 08:07:09 +0000 (01:07 -0700)]
[UNTESTED][mxnet] Add GPU support
Add GPU support for nnstreamer-filter-mxnet.
This should work if MXNet is properly compiled
but I don't currently have development environment
to test GPU acceleration. I will remove the UNTESTED
tag when I set up the environment and test it.
Signed-off-by: Bumsik Kim <k.bumsik@gmail.com>
Bumsik Kim [Wed, 14 Oct 2020 06:32:35 +0000 (23:32 -0700)]
[mxnet] Add simple test
This is a simple test to verify if nnstreamer-filter-mxnet works.
This may not be a proper test for upstream NNStreamer.
The main idea is to compare the outputs of the MXNet reference
implementation [1] and that of nnstreamer-filter-mxnet.
OpenCV is required to build this test.
[1]:
https://github.com/apache/incubator-mxnet/blob/1.7.0/cpp-package/example/inference/imagenet_inference.cpp
Signed-off-by: Bumsik Kim <k.bumsik@gmail.com>
Bumsik Kim [Sun, 4 Oct 2020 06:04:56 +0000 (23:04 -0700)]
[meson] Add mxnet support
Add nnstreamer-filter-mxnet in the meson build system.
The mxnet support flag is -Dmxnet-support=enabled
Signed-off-by: Bumsik Kim <k.bumsik@gmail.com>
Bumsik Kim [Wed, 14 Oct 2020 02:36:56 +0000 (19:36 -0700)]
[mxnet] Preliminary version of tensor_filter_mxnet
This patch newely adds MXNet support for tensor_filter.
This is based on tensor_filter_subplugin class. This currently does not
suppor the GPU acceleration but it will be added in later patches.
Since this project does not have a stable C++ coding convention, I
partially followed the Google C++ Style Guide [1] for naming and applied
.clang_format file in the root.
[1]: https://google.github.io/styleguide/cppguide.html#Naming
Signed-off-by: Bumsik Kim <k.bumsik@gmail.com>
Jaeyun [Fri, 20 May 2022 11:48:34 +0000 (20:48 +0900)]
[Conf] fix param name
Fix lgtm alert - name of global variable. Change param name.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 17 May 2022 09:30:01 +0000 (18:30 +0900)]
[Conf] subplugin path from extra conf
Add subplugin path loaded from extra config file.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 17 May 2022 05:17:25 +0000 (14:17 +0900)]
[Python] path to python helper lib
Change install path for python-helper library.
This is to fix library link error.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Fri, 13 May 2022 06:17:32 +0000 (15:17 +0900)]
[TEST] Add assertion test.
Instead of unwinding the macro, add assertion.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Fri, 13 May 2022 03:15:44 +0000 (12:15 +0900)]
[TEST] Unwinding macro to avoid no assertion test.
Some code quality analyer check no assertion test.
testTesnrSparse_utilConvert has assert test, the analyer cannnot check
macro.
So, to avoid the false-positive case, unwinding macro.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Thu, 12 May 2022 01:39:40 +0000 (10:39 +0900)]
[Test] Add palm detection decoder test
This patch newly adds the palm detection decoder test script.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 11 May 2022 14:36:45 +0000 (23:36 +0900)]
[Decoder/BoundingBox] Add binary test data of palm detection
This patch adds the binary test data for palm detection.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Thu, 28 Apr 2022 04:44:17 +0000 (13:44 +0900)]
[filter/snpe] Add custom option "MaxResizableDim"
- Some snpe models have "0" dim to represent resizable dim.
- Add a custom option to deal with this case.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 19 Apr 2022 09:22:30 +0000 (18:22 +0900)]
[filter/snpe] Make the order of output tensors be consistent with the user given option
- For multiple output models, let user set output tensors instead of
output layers
- And make the order of input / output tensors be consistent.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Mon, 9 May 2022 05:31:46 +0000 (14:31 +0900)]
[meson] Remove unnecessary dependency
Remove unnecessary dependency from single-shot package.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Fri, 6 May 2022 07:24:00 +0000 (16:24 +0900)]
[Svace] check null ptr
Fix svace issue, check null ptr - allocation failure case in log util.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 1 Apr 2022 11:14:53 +0000 (20:14 +0900)]
[Edge] header for nns-edge
initial commit to implement internal library for nnstreamer edge based on glib.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 4 May 2022 03:20:04 +0000 (12:20 +0900)]
test: disable converter test if python is not available.
converter test uses python scripts.
disable converter test if python is not available.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan [Tue, 19 Apr 2022 10:24:08 +0000 (19:24 +0900)]
[TEST/ntp] Add ntp unittest using GMock.
Add ntp uniitest using GMock.
Signed-off-by: gichan <gichan2.jang@samsung.com>