Mauro Carvalho Chehab [Thu, 17 Jan 2019 16:24:04 +0000 (14:24 -0200)]
[Documentation] Update install instructions
In order to install it on Debian, it is needed first to get
the ssat and tensorflow packages.
Add instructions about how to do that.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Hyoung Joo Ahn [Mon, 21 Jan 2019 11:39:46 +0000 (20:39 +0900)]
[Decoder/BoundingBox] rename parameters just for tf-lite
some parameters subordinated to the ssd model of TFLite should have their own name.
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Jaeyun [Tue, 22 Jan 2019 04:01:26 +0000 (13:01 +0900)]
[Build] update document and include path
1. update document (remove cmake guide)
2. change orc generated header path
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 22 Jan 2019 03:34:54 +0000 (12:34 +0900)]
[Build] remove cmake
transition to meson, remove all the cmake script.
relate issue : #927
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 15 Jan 2019 08:00:10 +0000 (17:00 +0900)]
[Common] change caps format for other/tensor
This PR changes caps format for other/tensor.
Caps for tensor stream : other/tensor, framerate = (fraction) [0, max], type = (string) { uint8, .. }, dimension = (string) d1:d2:d3:d4
Related issue : #1027
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 22 Jan 2019 05:34:10 +0000 (14:34 +0900)]
[Document] update documents
update broken links and nnstreamer changes
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
jijoong.moon [Tue, 15 Jan 2019 01:31:26 +0000 (10:31 +0900)]
[Repo] Add test cases for negotiation check
In order to check negotiation error, added test cases for repo.
**Changes proposed in this PR:**
- Added Test cases for repo
Resolves: #1026
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Hyoung Joo Ahn [Tue, 22 Jan 2019 04:22:57 +0000 (13:22 +0900)]
[Filter] correct misspells and improper logic
there are some typos about in/out at a comment & exception handling
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
jijoong.moon [Mon, 14 Jan 2019 22:44:21 +0000 (07:44 +0900)]
[Repo] Add checking caps compatibility between repo_src & repo_sink
It is difficult to check caps compatibility during negotiation because
they are not pipelined each other. That's why reposrc needs caps
property by the way. However, we have to check compatibility somehow
during runtime. In order to do that, GstMetaRepo is introduced.
In this PR, functions and defines are included to manipulate the meta
for repo. During generating buffer in reposink, insert GstMetaRepo
data with GstCaps and push to repo. After that, reposrc extracts the
GstMetaRepo when pulling the gstbuffer from repo
and compare it with caps defined by user. If they are not compatible,
it shows error and return GST_FLOW_EOS.
**Changes proposed in this PR:**
- Add GstMetaRepo type and manipulation functions
- Add insert GstMetaRepo into buffer
- Add comparison routine during get gstbuffer from repo
- Add Error handling if they are not compatible
Resolves: Issue #1026
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
MyungJoo Ham [Mon, 14 Jan 2019 01:28:23 +0000 (10:28 +0900)]
DIST: apply meson/ninja to debian build
Before remocing CMAKE infrastructure,
migrate build system to meson/ninja for debian builds.
This disabled tensorflow for Ubuntu build.
@hello-ahn reenable it after the update of protobuf
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Sat, 19 Jan 2019 07:11:18 +0000 (16:11 +0900)]
[CI Fix] Temporarily Disable App Test
With recent updates on app test and build script,
we no longer have example applications in nnstreamer.git
It should be migrated to nnstreamer-example.git
We should build nnstreamer-example.git for app test, not
example directory in nnstreamer.git
This is an emergency fix for #1047
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Hyoung Joo Ahn [Fri, 18 Jan 2019 06:34:44 +0000 (15:34 +0900)]
[Filter/Tensorflow] remove `memcpy` of the output tensor by implementing `destroyNotify()`
maintain the output tensors at the map for a while and erase it from the map when `destroyNotify()` is called
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Jaeyun [Fri, 18 Jan 2019 06:56:46 +0000 (15:56 +0900)]
[Meson] clean script for unittest
update build script for unittests and test-plugins
1. add script to copy exe for ssat
2. clean script to build test-plugins
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 21 Jan 2019 05:56:58 +0000 (14:56 +0900)]
[Example] remove all exec-examples
Now all the exe-examples are migrated to nnstreamer-example repository.
TODO : we have to set up the app-test with the example repo.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 17 Jan 2019 10:38:22 +0000 (19:38 +0900)]
[Meson] change dependency for thread
change dependency for thread (guide in meson-build https://mesonbuild.com/howtox.html)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Hyoung Joo Ahn [Fri, 18 Jan 2019 03:56:36 +0000 (12:56 +0900)]
[Example] use an existed function rather than custom
replace _strdup() to g_strdup() because it fulfills exactly same role
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Hyoung Joo Ahn [Fri, 18 Jan 2019 03:33:31 +0000 (12:33 +0900)]
[Filter/Example] apply destroyNotify() callback at example
add destroy_notify callback at the example using allocate_invoke.
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Jaeyun [Fri, 18 Jan 2019 09:10:04 +0000 (18:10 +0900)]
[Filter] remove definition of supported framework
FW definition is now unnecessary.
1. remove fw defines
2. update custom filter description
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Hyoung Joo Ahn [Fri, 18 Jan 2019 10:54:39 +0000 (19:54 +0900)]
[Documentation] update the doc readme&getting-started document
change the address of example and modify the guide about meson and ppa address
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Hyoung Joo Ahn [Tue, 15 Jan 2019 08:30:43 +0000 (17:30 +0900)]
[Filter] add a method destoryNotify() to handle data pointer
It will handle the data pointer after GstMemory being destoryed. If no specific method, it will be g_free()
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Jaeyun [Wed, 16 Jan 2019 04:52:13 +0000 (13:52 +0900)]
[Meson] add dependency for generated files
Add dependency for generated files.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 16 Jan 2019 10:30:23 +0000 (19:30 +0900)]
[Meson/Example] update script to install python example
update script to install python example in image-classification
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 16 Jan 2019 09:25:20 +0000 (18:25 +0900)]
[Example] remove unnecessary examples
Remove unnecessary examples and dependency.
All the exec-examples are moved to nnstreamer-example repository.
Remained examples are needed for unit-test and app-test.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Hyoung Joo Ahn [Thu, 17 Jan 2019 07:05:44 +0000 (16:05 +0900)]
[Filter/Tensorflow] fix bug at input tensor
fix broken logic at input tensor
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Jaeyun [Mon, 14 Jan 2019 07:58:43 +0000 (16:58 +0900)]
[Filter/Common] common functions for tensor info
Add common functions to handle the fomatted string of dimension, type, and name in tensors info.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 14 Jan 2019 10:08:10 +0000 (19:08 +0900)]
[Test] remove unnecesary file
testcase_mux.tar.gz is now unnecessary.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
jijoong.moon [Mon, 14 Jan 2019 01:04:12 +0000 (10:04 +0900)]
[Repo] Fix the test case dimension
The input dim of tensor is 3:16:16.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
Jaeyun [Mon, 14 Jan 2019 01:59:14 +0000 (10:59 +0900)]
[Build] remove unnecessary installation
installing libraries (.a) is unnecessary with meson.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 11 Jan 2019 06:26:06 +0000 (15:26 +0900)]
Plug-and-play sub-plugins for Tensor_Filter
Allow tensor_filter sub-plugins to be independently built
and attached/detached in run-time with subplugin APIs.
This resolves one of "future work" in ATC 2019 submitted paper already :)
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 14 Jan 2019 01:28:58 +0000 (10:28 +0900)]
[Converter] remove code to update property
Updating tensor info property may cause an error when doing caps negotiation.
related issue : #941
error case:
1. run pipeviz (e.g., videotestsrc - capsfilter - tensor_converter - tensor_sink)
2. set caps video/x-raw,format=RGB,width=640,height=480 in capsfilter and run pipeline
3. stop pipeline, and change caps (width=320,height=240)
4. run pipeline again, then it will make caps-negotiation failure.
If set tensor_info (line 1199), stop and run pipeline again,
- It resets the flag tensor_configured false. (in gst_tensor_converter_change_state())
- After running pipeline again, gst_tensor_info_validate (line 1189) returned true
and in-caps is different with saved tensor_info. This makes caps-negotiation failure.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Mon, 14 Jan 2019 01:34:32 +0000 (10:34 +0900)]
Reviewer List Updated
The two reviewers have left the team.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 11 Jan 2019 04:12:47 +0000 (13:12 +0900)]
[Meson] change option name
change option to avoid duplicated feature name
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 8 Jan 2019 09:45:13 +0000 (18:45 +0900)]
[Test] remove warning in testcases
remove unnecessary path (ld preload)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 8 Jan 2019 05:12:40 +0000 (14:12 +0900)]
[Build] change dir structure
1. update meson/cmake to change directory structure (move common files and plugins to gst/nnstreamer)
2. move nnstreamer meson-build to gst/nnstreamer
3. set project args to build nnstreamer
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 7 Jan 2019 10:19:39 +0000 (19:19 +0900)]
[Example] remove script to build test-app
1. remove .spec and cmake to build test-app
2. remove unnecessary include in example obj-detection
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Hyoung Joo Ahn [Tue, 8 Jan 2019 02:24:22 +0000 (11:24 +0900)]
[Example] Upload the tensorflow example
this example detects objects with ssd model. it works similar with the tf-lite example
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Hyoung Joo Ahn [Mon, 7 Jan 2019 06:54:33 +0000 (15:54 +0900)]
[Unittest] Tensorflow unittest with MNIST
the basic unittest of tensorflow with MNIST model. it resolves #994
Signed-off-by: Hyoung Joo Ahn <hello.ahnn@gmail.com>
Jaeyun [Fri, 4 Jan 2019 10:40:31 +0000 (19:40 +0900)]
[Filter] reset prop values when closing nnfw
1. init properties when closing nnfw
2. change logger format and code clean
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 4 Jan 2019 07:12:24 +0000 (16:12 +0900)]
[Test] add testcases for tensor-aggregator
testcases for testing data concat in tensor-aggregator
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 4 Jan 2019 03:46:56 +0000 (12:46 +0900)]
[Split] use common functions
1. use nns_memcpy to copy tensor data
2. use common function to get tensor elements count
3. remove unnecessary local val
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 19 Dec 2018 11:29:34 +0000 (20:29 +0900)]
[Meson] gbs build using meson
update .spec to build using meson
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 20 Dec 2018 07:25:19 +0000 (16:25 +0900)]
[Meson] set dependency with include dir
declare nnstreamer-lib dependency with include directory
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 20 Dec 2018 06:14:19 +0000 (15:14 +0900)]
[Filter/TF] change macro to copy in/out tensor
check data type in outside the loop and code clean
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 19 Dec 2018 06:57:57 +0000 (15:57 +0900)]
[Filter/Cmake] link proper modules
set pkgs for tensorflow and link with necessary modules
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 20 Dec 2018 06:10:49 +0000 (15:10 +0900)]
Fixed typo in the comments
Fixed trivial typos in the comments.
HyoungjooAhn [Wed, 19 Dec 2018 04:26:28 +0000 (13:26 +0900)]
[Filter/Tensorflow] add an exception case for tensorflow
checking the status of tensorflow after running model
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Jaeyun [Thu, 20 Dec 2018 04:16:03 +0000 (13:16 +0900)]
[Filter/TF] fix warning
To fix coverity issue, init variables and code clean.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 18 Dec 2018 04:44:07 +0000 (13:44 +0900)]
[Filter/TF/TF-lite] remove link of tensor-common
remove dependency of tensor-common and unnecessary headers
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
HyoungjooAhn [Mon, 17 Dec 2018 10:26:01 +0000 (19:26 +0900)]
[Filter/Tensorflow] take the original rank of model internally
to run model, hold the original rank internally
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Wook Song [Mon, 17 Dec 2018 02:22:06 +0000 (11:22 +0900)]
[Test/TensorMux] Add test cases for multi-tensors multiplexing
This provides unit test cases for multiplexing of multi-tensors.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 17 Dec 2018 02:14:03 +0000 (11:14 +0900)]
[TensorMux] Support multi-tensors for input
This patch makes the TensorMux element have multi-tensors as its input
stream.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Wed, 19 Dec 2018 03:44:24 +0000 (12:44 +0900)]
[Decoder] remove build warning
rename internal functions and sub-plugin callback
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 17 Dec 2018 04:29:04 +0000 (13:29 +0900)]
[Meson/Submodule] install both static/shared libraries
build and install both static/shared libraries (filter-submodules and common libs)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Dec 2018 11:30:23 +0000 (20:30 +0900)]
[Meson] add installation
1. add option to install examples
2. set install path and add configuration
3. install libraries, headers, and examples
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Dec 2018 07:45:18 +0000 (16:45 +0900)]
[Meson/Test] add code to make bmp2png for test
1. make bmp2png for the unittest
2. set gtest dependency false
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Dec 2018 07:28:18 +0000 (16:28 +0900)]
[Meson/Example] dependency of examples
set proper dependencies for each examples.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Dec 2018 06:24:58 +0000 (15:24 +0900)]
[Meson] code clean
1. add flags for tensorflow and tensorflow-lite
2. set objs with the flags and dependency of libraries
3. build with each plugin files
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Wook Song [Mon, 17 Dec 2018 08:05:29 +0000 (17:05 +0900)]
[Test] Set LD_PRELOAD to the nnstreamer library
Fixes #919
This patch set LD_PRELOAD to libnnstreamer.so in runTest.sh for testing
custom filter and arithmetic/dimchg/stand/transpose/typcast transforms
so that fixing the issue related to the warning messages about
libtensor_filter_tflitecore.so load failure.
Signed-off-by: Wook Song <wook16.song@samsung.com>
HyoungjooAhn [Fri, 14 Dec 2018 02:55:34 +0000 (11:55 +0900)]
[bugfix] fix checking the dimension of input tensor
logic is fixed to make it work properly for the any type of input dimension
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Jaeyun [Wed, 12 Dec 2018 04:25:08 +0000 (13:25 +0900)]
[Example/Cmake] remove unnecessary link
Examples don't need to link nnstreamer libs.
Remove this link and add modules for each examples.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Dec 2018 03:57:27 +0000 (12:57 +0900)]
[Example] remove common header
In custom filter examples, remove tensor-common header.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 12 Dec 2018 07:34:29 +0000 (16:34 +0900)]
[Test] add plugin path
set plugin path for the unittest using nnstreamer elements.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
HyoungjooAhn [Tue, 11 Dec 2018 04:05:53 +0000 (13:05 +0900)]
[Filter] add condition to check input/output name
check the existance of the value before free for input/output name properties
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Jaeyun Jung [Mon, 10 Dec 2018 14:50:12 +0000 (23:50 +0900)]
[Transform/Orc] remove unnecessary memcpy
Related issue: #975
In arith mode, copying input array to output is unnecessary.
To fix this, add source in orc functions and set the data ptr for each operator.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 10 Dec 2018 10:27:33 +0000 (19:27 +0900)]
[Meson/CustomFilter] link custom-filter obj
In example custom-filter, link custom-filter.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 10 Dec 2018 04:53:48 +0000 (13:53 +0900)]
[Filter/TF] fix warning and check dependency
1. check dependency of protobuf, tensorflow
2. fix build warning and code indentation
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Sat, 8 Dec 2018 08:58:05 +0000 (17:58 +0900)]
[Filter] Build Error Fix (gcc > 6)
Recent code commit has introduced the following errors in
modern gcc:
```
[ 20%] Building C object gst/tensor_filter/CMakeFiles/tensor_filterOBJ.dir/tensor_filter.c.o
cd /<<PKGBUILDDIR>>/build/gst/tensor_filter && /usr/bin/cc -DENABLE_TENSORFLOW_LITE -DHAVE_ORC=1 -DVERSION=\"0.1.0\" -I/<<PKGBUILDDIR>>/gst/nnstreamer -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/orc-0.4 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Werror -fPIC -g -std=c89 -Wno-sign-compare -o CMakeFiles/tensor_filterOBJ.dir/tensor_filter.c.o -c /<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c
In file included from /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h:9:0,
from /usr/include/glib-2.0/glib/gtypes.h:32,
from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/gstreamer-1.0/gst/gstinfo.h:27,
from /<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c:57:
/<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c: In function ‘gst_tensor_filter_set_property’:
/<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c:560:51: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
g_assert (prop->input_meta.info[i].name != '\0');
^
/<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c:560:21: note: did you mean to dereference the pointer?
g_assert (prop->input_meta.info[i].name != '\0');
^
/<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c:581:52: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
g_assert (prop->output_meta.info[i].name != '\0');
^
/<<PKGBUILDDIR>>/gst/tensor_filter/tensor_filter.c:581:21: note: did you mean to dereference the pointer?
g_assert (prop->output_meta.info[i].name != '\0');
^
```
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 7 Dec 2018 10:40:57 +0000 (19:40 +0900)]
[Meson] add unittest
check dependency of gtest and add exe to run unittest
(command '$ ninja test' will build and start gtest)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 7 Dec 2018 10:34:42 +0000 (19:34 +0900)]
[Meson] code clean
1. rename nnstreamer include path and dependencies
2. link proper objs
3. fix indentation
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 7 Dec 2018 07:55:03 +0000 (16:55 +0900)]
[Meson] rename gst/glib dependency
rename dependencies of gstreamer, glib (follows gst-base)
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Sat, 8 Dec 2018 02:05:47 +0000 (11:05 +0900)]
[Converter] code clean
1. move function video-stride to converter.
2. move mainpage tag to nnstreamer.c.
3. in nnstreamer.c, include config header for orc feature.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
HyoungjooAhn [Tue, 4 Dec 2018 07:14:25 +0000 (16:14 +0900)]
[Filter/Tensorflow] upload tensorflow draft
this is a draft of tensorflow filter
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Jaeyun [Thu, 6 Dec 2018 10:12:13 +0000 (19:12 +0900)]
[Test] add more testcases
Using gst-harness, add testcases for the property acceleration in tensor-transform.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 7 Dec 2018 03:50:57 +0000 (12:50 +0900)]
[Transform/Orc] code clean to prepare meson
1. Orc feature is defined in config, include config header to prepare meson build.
2. Set default property value with orc feature.
3. Add log message to indicate orc acceleration.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 7 Dec 2018 04:14:06 +0000 (13:14 +0900)]
[Meson] include orc
1. set base-args and include orc features
2. check orc lib and orcc, and generate orc files in tensor-transform
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 5 Dec 2018 08:14:33 +0000 (17:14 +0900)]
[Transform] apply orc functions
1. add flags to check orc support
2. add property to set orc acceleration
3. apply orc functions for arith/typecast
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 5 Dec 2018 08:10:32 +0000 (17:10 +0900)]
[Orc] update functions for divide, typecast
1. add function _div (float and double only)
2. add typecast to same type (copy input array to output)
3. update opcode for typecast
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
HyoungjooAhn [Wed, 5 Dec 2018 11:27:16 +0000 (20:27 +0900)]
[Filter] fix cmake typo about tensorflow
fix typos at CMakeLists.txt of tensor_filter
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Jaeyun [Tue, 4 Dec 2018 10:16:47 +0000 (19:16 +0900)]
[Orc] add functions for typecast
1. add typecast functions
2. add testcases for typecast
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
HyoungjooAhn [Tue, 4 Dec 2018 11:43:05 +0000 (20:43 +0900)]
[Bug Fix] fix unused variables bug
it resolves #957 about unused variables
Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
Geunsik Lim [Mon, 3 Dec 2018 11:50:07 +0000 (20:50 +0900)]
[Tool] Added a front-end GUI toolkit
Fixed issue #878.
This commit is to provide a front-end GUI application to connect
tools such as tracing, debugging, profiling packages.
After doing a packaging work of back-end applications, the each menu
is going to be interconnected each other.
**Changes proposed in this PR:**
1. Added front-end GUI application
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Jaeyun [Mon, 3 Dec 2018 08:31:35 +0000 (17:31 +0900)]
[Orc] update function for operator add/mul
1. add functions for operator add/mul
2. add functional testcases for orc
TODO :
1. support int64
2. add typecast functions
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Mon, 3 Dec 2018 06:33:04 +0000 (15:33 +0900)]
Start of 0.1.0 rc1 development
This commit marks the start of 0.1.0 rc1 development.
The version is jumped to 0.1.0 as it has now enough
number of features for a few real products/applications
and we have full CI/CD support.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 3 Dec 2018 05:45:54 +0000 (14:45 +0900)]
Release of v0.0.3
As Sprint 1811A and 1811B conclude along with Coverity/SVACE issues cleared, 0.0.3 is hereby released.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 27 Nov 2018 12:28:11 +0000 (21:28 +0900)]
[Common/Subplugin] Internal API to handle subplugins
Any subplugin-using elements may call get_subplugin () to
get internal data (set of callbacks) of the subplugin.
Next Step: modify tensor_decoder to use nnstreamer_subplugin.h
and test with it.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 30 Nov 2018 11:10:06 +0000 (20:10 +0900)]
[Filter] update macros to avoid assertion
1. check fw and fw-function before calling in macro
2. return true in _start() and _stop() vmethods
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Mon, 3 Dec 2018 00:56:47 +0000 (09:56 +0900)]
[Decoder] Coverity issue 1036581 fix
Coverity wants to check the return value of
_tensordec_process_plugin_options.
Let't check and log if there is an unwanted return value.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun Jung [Fri, 30 Nov 2018 16:15:51 +0000 (01:15 +0900)]
[Transform] limit typecast in arith mode
set typecast option only in the first
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Thu, 29 Nov 2018 08:30:25 +0000 (17:30 +0900)]
[Orc] initial commit to add orc file
add command to generate -orc c and h files in tensor-transform
TODO update orc functions and link to tensor-transform
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
sewon.oh [Thu, 29 Nov 2018 08:08:31 +0000 (17:08 +0900)]
[meson] add meson.build for example apps and custom filter
For ssat and example, add meson.build
Signed-off-by: sewon.oh <sewon.oh@samsung.com>
MyungJoo Ham [Fri, 30 Nov 2018 02:28:42 +0000 (11:28 +0900)]
[Filter] Support pipeline stop and go.
Pipeline Stop does not always mean pipeline close.
A pipeline may be paused and resumed (stop and start).
Thus, do not clean up internal data structure for stop.
Instead just notify the plugins of the events with
callbacks.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 29 Nov 2018 02:26:11 +0000 (11:26 +0900)]
[Decoder] Do not die for option errors.
With dynamic pipeline configurations, the mode/option
properties may become incomplete. Do not die for such status
if the pipeline is not active.
This is critical for GUI toolkits.
Fixes a subitem of #827
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
jijoong.moon [Wed, 28 Nov 2018 06:05:38 +0000 (15:05 +0900)]
[Repo] Add runTest.sh for the dummy LSTM Test
- Add python script to generate input stream & golden data.
- Add runTest.sh to run.
repository
+-----------+
+---------------------| slot 1 |<-------------------- ---+
| +-----------+ |
| +------------------| slot 0 |<----------------------+ |
| | +-----------+ | |
| | | |
| | +---+ +---+ +---+ | |
| +-->repo_src:0 --->| |-->| |->| |-->repo_sink:0 -+ |
+----->repo_src:1 --->| M | | F | | D |-->repo_sink:1 ---+
filesrc(new)-->| | | | | | |
+---+ +---+ +---+ -->out_%1d.log
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Tue, 27 Nov 2018 07:57:26 +0000 (16:57 +0900)]
[Repo] Split Cond variable to use push and pull the data
In order to keep the synchronization better, two cond variable is
used.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
MyungJoo Ham [Fri, 30 Nov 2018 02:43:20 +0000 (11:43 +0900)]
[Common/Conf] Fix coverity issue, uninitialized pointer read
With auto-ptr, it tries to access read the pointer.
Thus, it should be initialized somehow.
Fixes Coverity Issue 1036166
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
jijoong.moon [Thu, 29 Nov 2018 11:00:50 +0000 (20:00 +0900)]
[Repo] Fix the test bug
Caps for the tensor_reposrc has bug. unit8 should be uint8.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Tue, 27 Nov 2018 00:34:10 +0000 (09:34 +0900)]
[Repo] Add MIME to limit for the tensor/tensors only for now.
Add MIME check becase currently onlye tensor/tensors are supported
for now.
**Changes proposed in this PR:**
- Added TOC generator for README.md
Resolves:
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Thu, 29 Nov 2018 02:05:47 +0000 (11:05 +0900)]
[Repo] Fix bug return without releasing lock
tensor_repo.c::gst_tensor_repo_add_repodata, unlock should be used
before return.
Resolves: #933
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Wed, 28 Nov 2018 02:33:42 +0000 (11:33 +0900)]
[DummyLSTM] Add Dummy LSTM custom example
Add Dymmy LSTM custom example. Two input stream and two outputstream.
First input is recursion and Second input is new input stream. First
output is recursion stream which is matched with first inputstream and
the second output stream is matched with second input stream.
- in2_tmp0 = (in2+in1)/2 (in2_tmp0 : mimic sigmoid)
- in2_tmp1 = tanh(in2)
- in0 = in0 x in2_tmp0
- in0 = in0 + (in2_tmp0 x in2_tmp1)
- out0 = in0
- out1 = in1 = (tanh(in0) x in2_tmp0)
+------------+
in0 ------->| |----> out0
in1 ------->| dummy LSTM |----> out1
in2 (new)-->| | |
+------------+ +--> out (equal out1)
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Mon, 26 Nov 2018 06:42:53 +0000 (15:42 +0900)]
[Repo/RNN] Add dummy RNN test case
In order to test recurtion & Tensor repo, dumm RNN test case is added.
It generate 10 4x4x4x1 tensors and use first input of RNN. Second
input for RNN is generated by tensor_reposrc which take from
Tensor_Repo. Of course, the first tensor of tensor_reposrc is filled
with zero. After simple calcution,
RNN (build/nnstreamer_exampel/custom_exampe_RNN/libdummyRNN.so ) push
the result and tensor_reposink upload this output into Tensor_Repo.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>