Parichay Kapoor [Tue, 18 Aug 2020 02:27:56 +0000 (11:27 +0900)]
[ext/nnfw] Check availability of neon at runtime
This patch adds checking the availability of NEON SIMD instructions on the machine
at runtime. If the NEON is not found, the auto accelerator of NEON backend is switched
to basic CPU. However, the NEON is still in the supported list of backends, and this
does not limit user from setting the backend of NEON even though its not available.
**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>
Parichay Kapoor [Tue, 18 Aug 2020 07:25:13 +0000 (16:25 +0900)]
[tf_support] Change assert to throw/try/catch
Update assert to throw and catch them later before returning to the C-API.
This is required while setting the cached properties.
**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>
Dongju Chae [Wed, 2 Sep 2020 07:50:31 +0000 (16:50 +0900)]
[Bug/TensorSplit] Fix the offset calculation bug
This patch fixes the offset calculation bug in tensor split
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Jaeyun [Tue, 1 Sep 2020 11:51:30 +0000 (20:51 +0900)]
[Android] deallocate direct buffer
Direct buffer allocated from native will not release the buffer.
Create instance in java and set byte array, then call method to add tensor data.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 1 Sep 2020 06:46:09 +0000 (15:46 +0900)]
[Filter/TF] fix deallocator ptr
fix function ptr when creating new tensor struct in tf sub-plugin.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 1 Sep 2020 09:00:49 +0000 (18:00 +0900)]
[CodeClean] fix coverity issue
check return value when setting conf path after test is done.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Thu, 27 Aug 2020 07:32:55 +0000 (16:32 +0900)]
[Docs] Add a '%' before http
This patch adds a '%' before http to avoid html link. It is related to
Tizen public header issue.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Dongju Chae [Fri, 28 Aug 2020 08:07:11 +0000 (17:07 +0900)]
[Stand/Typo] Fix a minor typo in 'stand' transform desc
This patch fixes a minor typo in 'stand' transform desc.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Yongjoo Ahn [Tue, 25 Aug 2020 12:08:37 +0000 (21:08 +0900)]
[android/test] Remove recently added testcases
- Currently, the exception from tensor_filter is not handled properly in naive api
- It causes test failure in specific build setting, so remove it
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 25 Aug 2020 12:02:16 +0000 (21:02 +0900)]
[android/build] Remove unnecessary build flag
- Remove `-Wno-exceptions` flag from Android-snpe.mk
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 27 Aug 2020 08:30:57 +0000 (17:30 +0900)]
[Filter/Cpp] typo in cpp check
fix typo, cpp std version macro.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 14 Aug 2020 05:34:51 +0000 (14:34 +0900)]
Dist/Tizen,Ubuntu: Add nnstreamer-util package
Package nnstreamer-check at /usr/bin with "nnstreamer-util" package.
Note that this does NOT require nnstreamer installation.
If there is no nnstreamer detected, it will simply say that nnstreamer is not found.
The utility, "nnstreamer-check", is supposed to search for nnstreamer installation with GStreamer infrastructure.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 13 Aug 2020 10:44:06 +0000 (19:44 +0900)]
[Utility] NNStreamer-Check
The new utility, "nnstreamer-check", shows
NNStreamer configuration dump to stdout.
This helps nnstreamer developers who suffer from
installation paths and configuration paths.
Fixes #2638
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Tue, 25 Aug 2020 10:57:24 +0000 (19:57 +0900)]
[Android] log message
change log message when failed to create single-shot instance.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 24 Aug 2020 07:37:23 +0000 (16:37 +0900)]
[Android/Test] Add Test cases for SNPE Singleshot api
- Add two negative TCs for invalid custom properties
- Add a TC to test utilizing DSP runtime
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 24 Aug 2020 07:34:57 +0000 (16:34 +0900)]
[filter/SNPE] Add exception for configuring instance
- Throw invalid_argument exception when it fails to configure options
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 20 Aug 2020 09:07:17 +0000 (18:07 +0900)]
[Android/Test] img classification using NNFW
Add simple testcase of image classification result using NNFW.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Mon, 24 Aug 2020 05:50:49 +0000 (14:50 +0900)]
[TEST] Fix duplicated test
Fix duplicated test in capi.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Sangjung Woo [Mon, 24 Aug 2020 05:09:54 +0000 (14:09 +0900)]
[CAPI] Update sample code for Custom Filter
This patch adds the Tensor dimension information, which is omitted in
the sample code.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Thu, 20 Aug 2020 12:07:06 +0000 (21:07 +0900)]
[filter/tflite] Cache tensor ptr after the first invoke
- This resolves #2665
- For some tflite models, the `Invoke()` function newly reserve the vector `tensors_`
- To fix this issue, cache after the first invoke
REF:
- [void Subgraph::EnsureTensorsVectorCapacity()](https://github.com/tensorflow/tensorflow/blob/v1.13.1/tensorflow/lite/core/subgraph.h#L400)
- [TfLiteStatus Subgraph::Invoke()](https://github.com/tensorflow/tensorflow/blob/v1.13.1/tensorflow/lite/core/subgraph.cc#L611)
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 20 Aug 2020 06:59:57 +0000 (15:59 +0900)]
[trivial/lint] Fix minor coding style
- Add spaces
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 20 Aug 2020 08:09:50 +0000 (17:09 +0900)]
[Decoder] signed and unsigned comparison
Fix svace issues, signed / unsigned value comparison.
Also prevent underflow to set the number of detected objects.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 20 Aug 2020 08:06:38 +0000 (17:06 +0900)]
[Common] check ptr after mem allocation
Add code to check mem ptr after the allocation.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 20 Aug 2020 07:51:24 +0000 (16:51 +0900)]
[Tizen/DA] DA wants to omit openvino
Remove openvino for DA's own build configurations.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Tue, 18 Aug 2020 02:45:58 +0000 (11:45 +0900)]
[Ext/Decoder] Support face detection models for OpenVino
The output tensor description of face detection model for OpenVino is
the same as that of person detection model for the same framework. This
patch updates the bounding-boxes mode of tensor decoder to support face
detection model by reusing the code for the person detection model
support.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Fri, 14 Aug 2020 12:05:25 +0000 (21:05 +0900)]
[single] Bug fix for setting accelerator
Bug fix for setting accelerator in the C-API.
When accelerator is set after the framework, tensor_filter does not know the framework
to check its version and store that information appropriately.
This patch changes the order of setting this information.
However, this bug still exists for pipeline API.
**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 [Thu, 20 Aug 2020 01:16:21 +0000 (10:16 +0900)]
[test/fix] Fix signed-unsigned compare
- Fix build fail issue when build with capi
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Thu, 13 Aug 2020 08:42:06 +0000 (17:42 +0900)]
[Documentation] Revised getting started for better readability.
Do not mix up different build environments.
Seperate documents for better readability.
Added ```rm -rf build``` in spec file to make it consistent with the documentation.
Now, you may do ```gbs build --include-all``` even if you have built in your git repo.
Fixes #2636
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Wed, 19 Aug 2020 09:51:08 +0000 (18:51 +0900)]
[TESTS/CAPI] Seperate negative TC as single test case
Negative TCs has multiple tests, separate them as single test cases.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Fri, 14 Aug 2020 08:53:41 +0000 (17:53 +0900)]
[Android] build script with tf-lite 2.3
update tf-lite version info in build script.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Wed, 19 Aug 2020 08:37:34 +0000 (17:37 +0900)]
[SPEC] Exclude device-dependent filters when checking testcase coverage
This patch excludes the device-dependent filters such as OpenVino and
EdgeTPU when checking testcase coverage.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
gichan-jang [Fri, 14 Aug 2020 07:47:00 +0000 (16:47 +0900)]
[TESTS/CAPI] Seperate negative TC as single test case - cutom filter register
Negative TCs has multiple tests, separate them as single test cases.
After this commit:
- Total TCs: 458
- Positive TCs: 250
- Negative TCs: 208
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Fri, 14 Aug 2020 07:21:03 +0000 (16:21 +0900)]
[TESTS/CAPI] Seperate negative TC as single test case - element-wise control function
Negative TCs has multiple tests, separate them as single test cases.
After this PR :
- Total TCs: 450
- Positive TCs: 250
- Negative TCs: 200
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Wook Song [Fri, 14 Aug 2020 16:59:21 +0000 (01:59 +0900)]
[Ext/Decoder] Support person detection models for OpenVino
This patch updates the tensor-decoder subplugin, "bounding-boxes", to
support person detection models for OpenVino.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Wed, 19 Aug 2020 06:15:00 +0000 (15:15 +0900)]
[Android/NNFW] update version
We will use ONE v1.8.0 from next build & release of Android APIs.
cc. @lemmaa @chunseoklee
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Wook Song [Fri, 14 Aug 2020 17:23:37 +0000 (02:23 +0900)]
[Tools/Profiling] Add a section for NNShark to README.md
This patch adds a section for NNShark to the README.md file.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Tue, 18 Aug 2020 07:39:22 +0000 (16:39 +0900)]
[Android] fix data conversion error
The result of single-shot invoke is invalid.
Remove tensor data free after converting native handle to data object in single-shot.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Wook Song [Fri, 14 Aug 2020 17:27:18 +0000 (02:27 +0900)]
[Dist/Tizen] Correct typo
This patch corrects typo in the rpm spec file.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Semun Lee [Fri, 14 Aug 2020 05:39:52 +0000 (14:39 +0900)]
[nnfw] Support INT64 for nnfw
Some models use INT64 type
Change-Id: I1009cc7ac845c1dbb20fbed36fc68b08f98e81dc
Signed-off-by: Semun Lee <semun.lee@samsung.com>
Wook Song [Wed, 15 Jul 2020 01:26:31 +0000 (10:26 +0900)]
[Dist/Tizen] Add a sub-package that enables tensor filter for OpenVino
This patch adds a sub-package that enables the tensor filter plugin
for OpenVino support.
Signed-off-by: Wook Song <wook16.song@samsung.com>
gichan-jang [Thu, 13 Aug 2020 05:16:03 +0000 (14:16 +0900)]
[TESTS] Fix no assertion test
1. The TCM(test case manager) cannnot check properly the test which is defined as macro.
Add assert test for unittest_plugins.cc
2. Remove version control test. It's not proper negative test.
3. tensor_filter_custom_easy.in_code_func_01 is False-negative.
The test case contains assert_* and expect_*, it is detected as no assertion TC.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Sangjung Woo [Wed, 12 Aug 2020 12:17:56 +0000 (21:17 +0900)]
[TCM] Add config file for Tizen
This patch newly add config_tizen.yaml file for Tizen. Existing
config.yaml is renamed to config_android.yaml.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Wed, 5 Aug 2020 11:29:21 +0000 (20:29 +0900)]
[Android] mem ptr to byte-buffer
In native code, we can get the mem ptr of byte-buffer.
Remove memcopy to convert tensors object and data struct in native.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Wed, 12 Aug 2020 02:49:18 +0000 (11:49 +0900)]
[android] Set `extractNativeLibs` true to use snpe dsp/npu runtimes
- For Android Gradle Plugin 3.6.0 or higher the property is set to "false" by default
- This makes snpe sub-plugin unable to use dsp/npu runtime
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 11 Aug 2020 02:50:12 +0000 (11:50 +0900)]
[tizensensor] Remove code related with timestamp
- Cause GstBaseSrc manages the timestamp, remove related part
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 6 Aug 2020 05:37:02 +0000 (14:37 +0900)]
[Android/Custom] change method name
Change method and interface name, with C# API implementation.
NOTE:
The example app should be updated also.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 5 Aug 2020 07:41:41 +0000 (16:41 +0900)]
[Android] build script for nnfw
Update build script
- Remove unnecessary so in nnfw prebuilt libs
- Add nnfw-ext option
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 11 Aug 2020 09:21:48 +0000 (18:21 +0900)]
[Android/Custom] free tensors-info handle
After converting info object in registration, free tensors-info handles.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 11 Aug 2020 03:19:05 +0000 (12:19 +0900)]
[SAM] remove global val
SAM report, remove global value in sub-plugins.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 6 Aug 2020 09:16:38 +0000 (18:16 +0900)]
[Android/AMC] start thread after the construction
Fix exception case, start amcsrc-looper after calling the constructor.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
DaWoon Kim [Mon, 10 Aug 2020 12:31:24 +0000 (21:31 +0900)]
[C-api] Fix typo
Fix typo from:
nnstreamer.h
Signed-off-by: DaWoon Kim <kim1023123@gmail.com>
DaWoon Kim [Sun, 9 Aug 2020 11:01:08 +0000 (20:01 +0900)]
[C-api] Fix typo
Fix typo from:
nnstreamer-capi-single.c
Signed-off-by: DaWoon Kim <kim1023123@gmail.com>
Tony Jinwoo Ahn [Sun, 2 Aug 2020 15:48:52 +0000 (00:48 +0900)]
[example] Use macro to copy tensor info
Add a macro to copy tensor info
Signed-off-by: Tony Jinwoo Ahn <tony.jinwoo.ahn@gmail.com>
Parichay Kapoor [Wed, 29 Jul 2020 08:26:49 +0000 (17:26 +0900)]
[filter] Buf fix of setting num_tensors to 0
In case, empty string is provided for the property,
tensor filter set_property() sets the number of tensors to 0 in
its private info.
Now with this patch, updating the num_tensors to non-zero is allowed.
However, setting to 0 is not.
Resolves #2594
**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>
Parichay Kapoor [Mon, 27 Jul 2020 04:26:00 +0000 (13:26 +0900)]
[tflite] Minimize invoke critical path
Minimize invoke critical path for tflite extension:
1. Cache input and output tensor ptrs out of the invoke to the location where extension
stores input and output tensors info
2. Verification of output size also moved out of invoke as the output tensor memory is
allocated internally by nnstreamer and its size is verified by each of the single API
and by tensor_filter.c for pipeline
V2:
Added bug fix to basic unittests for tflite reload exposed with the changes proposed in this PR
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Mon, 27 Jul 2020 02:10:05 +0000 (11:10 +0900)]
[tflite] Optimization for the invoke critical path
tflite invoke stores evaluates and stores indexes of input and output tensors which is not needed
Remove it from critical path
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Tony Jinwoo Ahn [Fri, 7 Aug 2020 00:19:39 +0000 (09:19 +0900)]
[tools] Fix typo
Changes for nnstreamer-toolkit.py:
1. Change "Library" to "Lesser" for LGPL v2.1
Both words are correct, but "Lesser" is more common in v2.1
2. Fix some typo
Signed-off-by: Tony Jinwoo Ahn <tony.jinwoo.ahn@gmail.com>
Parichay Kapoor [Wed, 29 Jul 2020 04:29:10 +0000 (13:29 +0900)]
[nnfw] Optimize nnfw invoke
This patch caches the type for the input and output data tensor
rather than calculating it at every invoke call.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Thu, 6 Aug 2020 03:10:33 +0000 (12:10 +0900)]
[C-Api/Src] free function in input data
Remove memcopy in input-data API.
If buffer policy is do-not-free, we dont need to set free function when wrapping the memory block.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 6 Aug 2020 03:50:36 +0000 (12:50 +0900)]
[C-Api] fix exception case
Clear pipeline bus before unref the pipeline.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Parichay Kapoor [Mon, 3 Aug 2020 10:58:11 +0000 (19:58 +0900)]
[c-api] Add unlikely for improved branch prediction
Add G_UNLIKELY at all the error checks for invoke to improve branch predicition
**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>
Parichay Kapoor [Wed, 29 Jul 2020 03:05:37 +0000 (12:05 +0900)]
[single] Use pre-computed input tensor size
Use pre-computed input tensor data size for validation than computing it in each invoke call
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 29 Jul 2020 02:44:39 +0000 (11:44 +0900)]
[single] Reduce wrapper memcopy for invoke
Reduced wrapper memcopy for invoke by typecasting ml_tensors_data_s->tensors to GstTensorMemory *
This reduces invoke latency
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
DaWoon Kim [Wed, 5 Aug 2020 10:39:39 +0000 (19:39 +0900)]
[C-api] Fix typo
Fix typo from:
nnstreamer-capi-pipeline.c
Signed-off-by: DaWoon Kim <kim1023123@gmail.com>
Parichay Kapoor [Thu, 23 Jul 2020 12:33:46 +0000 (21:33 +0900)]
[Single] Add unittest to measure invoke latency by single API
Added unittest to measure the invoke latency by single API.
This latency is measured for tensorflow-lite and nnfw-runtime filters.
The latency is measured by running the invoke with single API and running
the invoke over the same data with the same model using filter API directly.
The difference in average execution time is reported as the latency introduced
by the single API invoke per call.
The invoke is called 1000 times after a warmup where the output is also verified.
V2:
Direct latency is the invoke duration of the library call
Latency induced by the SINGLE API is inclusive of the overhead by the API and the extension
Overhead induced by the extension is the overhead by the invoke function in the extension
V3:
Sleep for 30sec between consecutive latency tests for different frameworks for cooldown
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Hyoung Joo Ahn [Fri, 31 Jul 2020 07:21:03 +0000 (16:21 +0900)]
[C-API] removing the hard coded waiting time
Currently the waiting time for the state change at the destroy moment is fixed with 50ms even when the state change is not called. This PR suggests changing it with `check-and-wait` loop with a new flag
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
Jaeyun [Fri, 31 Jul 2020 10:35:24 +0000 (19:35 +0900)]
[Test] add test for single-invoke
mark negative cases and add new testcases for single-shot invoke function.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 3 Aug 2020 09:36:46 +0000 (18:36 +0900)]
[Test] Fix signed-unsigned comparison
- For gtest EXPECT_EQ, change constants to unsigned value
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Parichay Kapoor [Tue, 4 Aug 2020 08:43:11 +0000 (17:43 +0900)]
[Dist/Tizen] Package unittests
Add packaging of unittests for Tizen distribution
**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>
MyungJoo Ham [Wed, 22 Jul 2020 02:20:36 +0000 (11:20 +0900)]
C-API/ml_pipeline_src_input_data new enum for events suggstion.
In order to give events to appsrc via ml_pipeline_src_input_data,
I'd like to suggest to use "policy" argument to keep "data"
uncomplicated.
We can simply add non-policy enum values to have general
event support; if you need some value for an event, you can
keep using "data".
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Thu, 30 Jul 2020 05:25:40 +0000 (14:25 +0900)]
[Test/tizensensor] Add unittest for tensor_src_tizensensor
- Add negative TCs with invalid sensor, unsupported sensor
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Mon, 3 Aug 2020 09:49:22 +0000 (18:49 +0900)]
Revert "[Android/NNFW] change nnfw version"
This reverts commit
5eefd5119550bbd19c351ecfb04bef1d589b72bd.
PM has decided to keep using 1.6.0 for this release.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Tue, 28 Jul 2020 04:16:36 +0000 (13:16 +0900)]
[filter/single] Optimize invoke path for tensor filter single
Tensor filter single performs various check on invoke
However, these checks are done on properties which remain static after open and first invoke
So, these checks are now performed on the first invoke only
Further, some checks were being performed multiple times, which have now been removed.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Tony Jinwoo Ahn [Sun, 2 Aug 2020 15:54:22 +0000 (00:54 +0900)]
[C-API] Use typedef enum for feature_state
For readability, use typedef enum.
https://github.com/nnstreamer/nnstreamer/issues/2574
Signed-off-by: Tony Jinwoo Ahn <tony.jinwoo.ahn@gmail.com>
Jaeyun [Mon, 3 Aug 2020 06:30:23 +0000 (15:30 +0900)]
[Android/NNFW] change nnfw version
use nnfw 1.6.1 for android build and release.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 3 Aug 2020 04:51:07 +0000 (13:51 +0900)]
[C-Api] fix typo
add line comment and missing dot in api description.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Tony Jinwoo Ahn [Sun, 2 Aug 2020 15:43:35 +0000 (00:43 +0900)]
[example] Fix typo
Fix typo from:
nnstreamer_customfilter_example_average.c
Signed-off-by: Tony Jinwoo Ahn <tony.jinwoo.ahn@gmail.com>
Sangjung Woo [Fri, 31 Jul 2020 04:53:08 +0000 (13:53 +0900)]
[Test/CAPI] Update the testcase of element-wise control function
This patch updates the testcase of element-wise control function since
the negative testcase does not have a negative code.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Thu, 30 Jul 2020 11:14:52 +0000 (20:14 +0900)]
[C-API] int32/uint32 get/set functions support enum type.
This patch makes int32/uint32 element-wise getter/setter functions
support Enumeration type. It is much natural and easy to use for
developers. I also add related test cases.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Parichay Kapoor [Tue, 28 Jul 2020 07:23:08 +0000 (16:23 +0900)]
[tensor] Update GstTensorMemory coherent with ml_tensors_data_s
One of the efforts to minimize API latency is to avoid creating data wrappers in
API and internally in nnstreamer and avoid its copying. Rather just interpret
the API data structure as internal definition.
This requires internal and external structures to be coherent.
This commit makes GstTensorMemory coherent with ml_tensor_data_s by removing
`tensor_type type` from GstTensorMemory.
type can be remove from GstTensorMemory as GstTensorMemory is used internally
and its usage is always supported with GstTensorInfo which contains the type information.
Correspondingly update the existing elements and extensions which use GstTensorMemory
to use the GstTensorInfo type information.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 28 Jul 2020 07:21:51 +0000 (16:21 +0900)]
[ext/python] Bug fix for python extension
setInputDimension in python extension updates only the number of tensors that all the info
Added bug fix to update all of the info
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Wed, 29 Jul 2020 10:55:16 +0000 (19:55 +0900)]
[Android] remove java in native libs
For native developers, remove gstreamer java file in native libraries.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Thu, 30 Jul 2020 05:08:03 +0000 (14:08 +0900)]
[Doc] Add edgeAI example description
Add edgeAI example description.
1. Image classification
2. Text classification
3. Image classification
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Sangjung Woo [Fri, 31 Jul 2020 05:24:31 +0000 (14:24 +0900)]
[CAPI] Fix the public header issue for doxygen
This patch fixes the public header issue for doxygen, which is requested
by Sunggyu Choi.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Hyoung Joo Ahn [Thu, 30 Jul 2020 09:55:55 +0000 (18:55 +0900)]
[C-API] add the EOS push at the destroy moment
for the specific situation, tensor_mux(refresh), the EOS buffer has to be inserted to make the pipeline state as NULL
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
Jaeyun [Wed, 29 Jul 2020 04:07:43 +0000 (13:07 +0900)]
[Android] params to init nnstreamer
Add condition to check params when initializing nnstreamer.
Also, single-shot does not need gstreamer initialization. Add feature for this.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Parichay Kapoor [Tue, 28 Jul 2020 03:45:28 +0000 (12:45 +0900)]
[single] Optimize invoke critical path
Remove setup gstTensorMemory in each invoke call
rather, pre-set the tensor memory when input dimensions are set
and re-use that setup tensor memory wrapper each time
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Sangjung Woo [Fri, 24 Jul 2020 05:44:36 +0000 (14:44 +0900)]
[Test/CAPI] Update testcases of element-wise control functions
This patch updates testcases of element-wise control functions to comply
with Tizen API Design Guideline.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Fri, 24 Jul 2020 05:44:10 +0000 (14:44 +0900)]
[C-API] Modify element-wise control functions
To comply with Tizen API Design Guideline, this patch use single
key-value pair for ml_pipeline_element_set_property and
ml_pipeline_element_get_property function.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
MyungJoo Ham [Mon, 27 Jul 2020 10:53:10 +0000 (19:53 +0900)]
Fix Ubuntu CI Build Error
Having header inclusion with incorrect orders
may incur errors with older gcc of older Ubuntu distro.
You shouldn't omit headers only because they may be included
indirectly by other headers.
Change-Id: Iaf4a096e08ee27d431fad85052edbae21470114f
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Tue, 28 Jul 2020 03:56:24 +0000 (12:56 +0900)]
[single] Memory leak bug fix
Add memory leak bug fix
When output ml_tensors_data_h fails to allocate, the already computed output must be freed before return
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Tue, 28 Jul 2020 07:18:07 +0000 (16:18 +0900)]
[Meson] dependency for filter subplugin
1. For nnfw deprecated function, find symbol in header. (cannot find function in library)
2. Remove unnecessary dependency to check pytorch version.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 10 Jul 2020 05:35:44 +0000 (14:35 +0900)]
[Test] testcase to convert multi tensors
add new testcases to convert byte stream to multi tensors.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 10 Jul 2020 05:30:48 +0000 (14:30 +0900)]
[Converter] bytes to multi tensors
parse the list of input info (dimension and type), and convert byte-stream to multi tensors.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 9 Jul 2020 10:25:48 +0000 (19:25 +0900)]
[Common] function to get data size
Add new function to get data size from tensors info.
If index is negative value, this will return total data size of tensors.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 29 Jul 2020 03:57:36 +0000 (12:57 +0900)]
[CodeClean] remove redundant space
Remove redundant space in source file.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 27 Jul 2020 01:59:09 +0000 (10:59 +0900)]
[tizensensor] Add tolerance for sensor data check
Ease the future timestamp check:
- At the check time, the timestamp of event could be the "next" sample
- Add tolerance amount of sampling rate
- Change Error to Warning
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan-jang [Mon, 27 Jul 2020 09:45:15 +0000 (18:45 +0900)]
[TCM] Add yaml config file for android
TCM(Test Case Manager) requires config.yaml file.
The config file is written for android API test.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Mon, 27 Jul 2020 04:40:27 +0000 (13:40 +0900)]
[Android/Single] allow 0 timeout
Now C-API allows setting 0 timeout val, change condition to set timeout value.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 22 Jul 2020 07:35:32 +0000 (16:35 +0900)]
CAPI/Single: Optimize no-timeout mode run-time performance
Do not invoke in a secondary thread, but ivoke in
the primary thread directly without CV so that
there is minimized latencies for single-invoke calls.
This has refactored the invoke-output-process routine.
This follows-up #2551
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>