platform/upstream/nnstreamer.git
13 months ago[Common] magic number for flex-tensor
Jaeyun Jung [Tue, 27 Jun 2023 08:55:39 +0000 (17:55 +0900)]
[Common] magic number for flex-tensor

Add magic to tensor-meta, this indicates given memory block is flexible tensor.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[Common] validate tensor-info accepted/tizen/unified/20230628.023656
Jaeyun Jung [Tue, 27 Jun 2023 03:25:02 +0000 (12:25 +0900)]
[Common] validate tensor-info

Param error case, validate tensor-info before appending new memory.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[CodeClean] use util func for extra tensors
Jaeyun Jung [Mon, 26 Jun 2023 05:44:37 +0000 (14:44 +0900)]
[CodeClean] use util func for extra tensors

Code clean, remove unnecessary local val and use util function to handle extra tensors.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months agoRevert "Filter/Meson: Move 'filter-snpe-list' to the build directory" accepted/tizen/7.0/unified/20230627.014905
gichan2-jang [Mon, 26 Jun 2023 06:34:40 +0000 (15:34 +0900)]
Revert "Filter/Meson: Move 'filter-snpe-list' to the build directory"

This reverts commit 2d6bc59653dab21bf1706d61a06c205c10583a92.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
13 months ago[tensor_crop] Push EOS event
gichan2-jang [Fri, 23 Jun 2023 04:58:36 +0000 (13:58 +0900)]
[tensor_crop] Push EOS event

Push eos event to src pad when collect pad is set to EOS state.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
13 months ago[Fix] fix svace issue.
SuYeon [Wed, 21 Jun 2023 06:51:14 +0000 (15:51 +0900)]
[Fix] fix svace issue.

Fix overflow before widen (distance value in 'g_array_set_size' func).

Signed-off-by: SuYeon <suyeon5.kim@samsung.com>
13 months ago[Fix] fix svace issue.
SuYeon [Wed, 21 Jun 2023 03:42:23 +0000 (12:42 +0900)]
[Fix] fix svace issue.

Fix data type of distance value in 'g_array_set_size' (gint -> guint64)

Signed-off-by: SuYeon <suyeon5.kim@samsung.com>
13 months ago[Fix] fix coverity & svace issues
SuYeon [Fri, 16 Jun 2023 02:00:17 +0000 (11:00 +0900)]
[Fix] fix coverity & svace issues

Fix coverity issues.
 - Fix resource leak (free 'dim_str' in '_custom_easy_filter_dynamic' function)
 - Delete unused 'cIdx' value in 'g_array_sort' function.
 - Fix 'g_strlcpy' return value and check fail to copy 'caps_str'.

Fix svace issue.
 - Fix data type of distance value in 'g_array_set_size'(gint ->guint64)

Signed-off-by: SuYeon <suyeon5.kim@samsung.com>
13 months agoRefactor tensor_region.c in regard to PR feedback
HarshJ20 [Fri, 16 Jun 2023 17:37:00 +0000 (23:07 +0530)]
Refactor tensor_region.c in regard to PR feedback

    - fixed the name of parameter in gst_tensor_top_detectedObjects_cropInfo
    - constified recommended pointer parameters and unconstified scalars
    - Added SPDX identifier
    - caps updated

Signed-off-by: HarshJ20 <hjain24in@gmail.com>
13 months agoAddress feedback from PR#4115
HarshJ20 [Fri, 16 Jun 2023 11:32:31 +0000 (17:02 +0530)]
Address feedback from PR#4115

    - changed "finalize" function to "gst_tensor_top_detectedObjects_cropInfo"
    - introduced new function "init_meta" to intialize flexible tensor header info for tensor_crop
    - changed the string value in GstOutCaps for updating Caps info
    - checked the resulting buffer's data with the intended result

Signed-off-by: HarshJ20 <hjain24in@gmail.com>
13 months agoTensor_region subplugin, currently supports mobilenet_ssd
Harshj20 [Thu, 15 Jun 2023 03:42:37 +0000 (09:12 +0530)]
Tensor_region subplugin, currently supports mobilenet_ssd

    - updated nnstreamer.mk for tensor_region.c
    - A subplugin for tensor_decoder for providing cropping info to tensor-crop element
    - Code cleaned, global scalability for supporting other models
    - @brief tags added for init_modes, finalize, getOutCaps and nms functions
    - pre-build for ubuntu passed
    - newline added
    - multi line comments properly configured

Signed-off-by: HarshJ20 <hjain24in@gmail.com>
13 months ago[filter] Show deprecate message for tflite1 filter
Yongjoo Ahn [Tue, 13 Jun 2023 07:18:05 +0000 (16:18 +0900)]
[filter] Show deprecate message for tflite1 filter

- tflite1 is going to be dropped in Tizen image.
- Show deprecate warning message when the tflite1 subplugin is opened
  and in build time.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
13 months ago[Common] data size of extra tensor
Jaeyun Jung [Mon, 19 Jun 2023 04:41:59 +0000 (13:41 +0900)]
[Common] data size of extra tensor

Fix util function, getting tensor size of extra tensor.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[Common/Doc] removed param
Jaeyun Jung [Mon, 19 Jun 2023 04:38:42 +0000 (13:38 +0900)]
[Common/Doc] removed param

Update doc, delete unnecessary param. (It was removed from prev PR.)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[common] Increase tensor_size_extra_limit to 240
Yongjoo Ahn [Tue, 13 Jun 2023 06:28:07 +0000 (15:28 +0900)]
[common] Increase tensor_size_extra_limit to 240

- Making the total size limit to be 256 (16 + 240)
- TODO: Set NNS_TENSOR_SIZE as 256 and update other source codes
  accordingly

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
13 months ago[fix] Fix a source file using clang-format
Yongjoo Ahn [Tue, 13 Jun 2023 06:11:46 +0000 (15:11 +0900)]
[fix] Fix a source file using clang-format

- Apply clang-format-15 to the file `unittest_sink.cc`

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
13 months ago[util] Fix the signature of gst_tensor_buffer_get_nth_meory
Yongjoo Ahn [Tue, 13 Jun 2023 05:43:36 +0000 (14:43 +0900)]
[util] Fix the signature of gst_tensor_buffer_get_nth_meory

- Remove unused argument of GstTensorsInfo.
- Fix used lines.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
13 months ago[Common] unnecessary mem-map calls
Jaeyun Jung [Mon, 12 Jun 2023 07:12:01 +0000 (16:12 +0900)]
[Common] unnecessary mem-map calls

Code clean, reduce duplicated mem-map calls for extra tensor memory.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[Filter] Support dynamic invoke
gichan2-jang [Mon, 12 Jun 2023 05:50:08 +0000 (14:50 +0900)]
[Filter] Support dynamic invoke

 - Support dynamic invoke
 - dynamic invoke function is added for custom-easy filter.
 - New custom callback and register function is added.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
13 months ago[CodeClean] util function for caps
Jaeyun Jung [Thu, 8 Jun 2023 07:28:15 +0000 (16:28 +0900)]
[CodeClean] util function for caps

Code clean, fix indent and use util function for gst-caps.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[CodeClean/RepoSink] unnecessary lines
Jaeyun Jung [Thu, 8 Jun 2023 08:38:14 +0000 (17:38 +0900)]
[CodeClean/RepoSink] unnecessary lines

Code clean, cleanup unnecessary lines.
- fix data type from gst-buffer
- handle error message

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
13 months ago[Common] fix tensor dimension compare util
Yelin Jeong [Wed, 7 Jun 2023 01:00:34 +0000 (10:00 +0900)]
[Common] fix tensor dimension compare util

This patch fixes `gst_tensor_dimension_is_equal`
and adds unittests.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
14 months ago[Fillter] Change custom-easy filter version from v0 to v1 accepted/tizen/7.0/unified/20230621.051151 accepted/tizen/unified/20230609.163737
gichan [Wed, 26 Apr 2023 10:38:39 +0000 (19:38 +0900)]
[Fillter] Change custom-easy filter version from v0 to v1

Change custom-easy filter version from v0 to v1

Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
14 months ago[Filter] Update filter subplugin interface
gichan [Tue, 25 Apr 2023 08:14:59 +0000 (17:14 +0900)]
[Filter] Update filter subplugin interface

Update filter subplugin v1 interface to support dynamic invoke.
Output tensors info should be filled by filter subplugin for dynamic
invoke.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
14 months ago[TEST] Add testcase for flexible tensor_filter
gichan [Wed, 12 Apr 2023 05:00:36 +0000 (14:00 +0900)]
[TEST] Add testcase for flexible tensor_filter

 - Testcase for flexible tensor filter is disabled and activate after
development is done.
 - In order to invoke tensor_filter with flexible input/output, you need to specify custom option.
  ex) ... ! tensor_filter framework=... invoke-dynamic=TRUE model=... ! ...

Signed-off-by: gichan <gichan2.jang@samsung.com>
14 months ago[decoder] Fix logic error in box tracking
Yongjoo Ahn [Fri, 2 Jun 2023 09:31:28 +0000 (18:31 +0900)]
[decoder] Fix logic error in box tracking

- Fix to calculate correct distance value between centroid and box
- Initialize tracking_id with 0 for yolov5 decode mode

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
14 months ago[datareposrc] For caps negotiation, use the caps of the JSON file
hyunil park [Wed, 26 Apr 2023 06:14:26 +0000 (15:14 +0900)]
[datareposrc] For caps negotiation, use the caps of the JSON file

- For caps negotiation, use the caps of the JSON file
- Remove supportable caps and add 'ANY'
- Add caps property for setting caps of unregistered file (have not JSON)
- Add unittest

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
14 months ago[tensor_trainer] Save the stats information of the model to output tensors
hyunil park [Thu, 25 May 2023 02:15:19 +0000 (11:15 +0900)]
[tensor_trainer] Save the stats information of the model to output tensors

Whenever one of the epochs is completed, the stats information of the model being trained
in subplugin is stored in the output tensor.

- Apply getStatus to get status of subplugin
- Add new internal API(nnstreamer_trainer_notify_event()) to get event from subplugin
- Add function to write stats to output tensors

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
14 months ago[API][tensor_trainer] Add event notifier and getStatus callback pointer
hyunil park [Fri, 12 May 2023 02:18:56 +0000 (11:18 +0900)]
[API][tensor_trainer] Add event notifier and getStatus callback pointer

Add GstTensorTrainerEventNotifier to get event from subplugin
- subplugin must send event to tensor_trainer with this notifier by internal API
- Add GstTensorTrainerEventType
- Add new internal API: nnstreamer_trainer_notify_event(notifier, event_type, data)

Add getStatus callback pointer to GstTensorTrainerFramework.
- Call this to get status of subplugin

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
14 months ago[Common] prepare 0-init dimension
Jaeyun Jung [Fri, 19 May 2023 07:17:18 +0000 (16:17 +0900)]
[Common] prepare 0-init dimension

Prepare increasing max rank and 0-init dimension case.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Build] missed libs in debian package
Jaeyun Jung [Mon, 22 May 2023 08:05:12 +0000 (17:05 +0900)]
[Build] missed libs in debian package

Add missed libraries in debian package.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Common] util to compare dimensions
Jaeyun Jung [Fri, 19 May 2023 05:28:03 +0000 (14:28 +0900)]
[Common] util to compare dimensions

Add util function to compare tensor dimensions.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[trivial] Fix yocto build badge in README
Yongjoo Ahn [Fri, 26 May 2023 05:39:40 +0000 (14:39 +0900)]
[trivial] Fix yocto build badge in README

- Yocto daily build targets aarch64. Change build badge position right.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
14 months ago[decoder] Add "tracking" feature for bounding boxes
Yongjoo Ahn [Mon, 15 May 2023 08:27:08 +0000 (17:27 +0900)]
[decoder] Add "tracking" feature for bounding boxes

- If the property is given as  `... option6=1 ...`, result bounding boxes will be marked with unique IDs.
- Centroid based track algorithm is used. It calculate every euclidean centroid distance among previous boxes and incoming boxes. And match from the least distance pair.

NOTE that this is too naive and trivial to be applied to production level application. Use it for test purpose.

If you need more information about object tracking task, refer https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvtracker.html

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
14 months ago[Filter] PyTorch, ignore extra output tensors
Torsten Schulz [Tue, 9 May 2023 23:56:18 +0000 (16:56 -0700)]
[Filter] PyTorch, ignore extra output tensors
Allow tensor_filter to be configured with smaller number of output tensors than PyTorch returns natively.

Signed-off-by: Torsten Schulz <torsten.schulz@gmail.com>
14 months ago[Test] missed testcases in spec file
Jaeyun Jung [Mon, 22 May 2023 07:29:19 +0000 (16:29 +0900)]
[Test] missed testcases in spec file

For test coverage, add missed testcases when running unittest in tizen build.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Common] duplicated lines
Jaeyun Jung [Fri, 12 May 2023 08:35:58 +0000 (17:35 +0900)]
[Common] duplicated lines

Code clean, remove duplicated lines using util function.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Common] condition to release extra info
Jaeyun Jung [Fri, 19 May 2023 05:15:18 +0000 (14:15 +0900)]
[Common] condition to release extra info

Remove unnecessary log-print, most pipelines does not have extra info and dont need releasing extra info.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Meson/Test] testcases for datarepo
Jaeyun Jung [Fri, 19 May 2023 08:13:28 +0000 (17:13 +0900)]
[Meson/Test] testcases for datarepo

Fix meson script, build testcases of datarepo when option is enabled.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months agodatarepo: dependency management.
MyungJoo Ham [Wed, 17 May 2023 05:55:10 +0000 (14:55 +0900)]
datarepo: dependency management.

Datarepo has its own unique dependency.
Thus, make datarepo optional at build so that
we can cut the dependency.

It's set "enabled by default" because most
releases will be using it anyway.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
14 months ago[Test] parse error msg
Jaeyun Jung [Fri, 19 May 2023 05:09:41 +0000 (14:09 +0900)]
[Test] parse error msg

For debug mode, parse error message received from pipeline.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months agoreadme: add linux foundation badge
MyungJoo Ham [Wed, 17 May 2023 10:42:51 +0000 (19:42 +0900)]
readme: add linux foundation badge

The badges are from
https://github.com/lfai/artwork/blob/main/lfaidata-assets/lfaidata-project-badge/README.md

Fixes #4036

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
14 months ago[CodeClean] util to compare dimensions
Jaeyun Jung [Mon, 15 May 2023 10:44:13 +0000 (19:44 +0900)]
[CodeClean] util to compare dimensions

Code clean, common function to compare tensor dimensions.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Trainer] parse config in caps event
Jaeyun Jung [Tue, 16 May 2023 10:14:50 +0000 (19:14 +0900)]
[Trainer] parse config in caps event

Fix invalid tensor-config,
1. parse config when receiving caps event.
2. init/free config in start/finalize callback.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[CodeClean] fix indent and unnecessary space
Jaeyun Jung [Tue, 16 May 2023 10:53:53 +0000 (19:53 +0900)]
[CodeClean] fix indent and unnecessary space

Code clean, fix indent and remove unnecessary space.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Test] enable testcases for tf-lite
Jaeyun Jung [Fri, 12 May 2023 08:42:35 +0000 (17:42 +0900)]
[Test] enable testcases for tf-lite

Run testcases when tf-lite ver 2.x is enabled.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[Common] allocate extra info
Jaeyun Jung [Fri, 12 May 2023 06:23:30 +0000 (15:23 +0900)]
[Common] allocate extra info

Clearly allocate extra info array in tensors-info struct, and remove unnecessary log line.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[tensor_trainer] Get TensorsInfo from negotiated caps instead of property
hyunil park [Wed, 3 May 2023 06:03:49 +0000 (15:03 +0900)]
[tensor_trainer] Get TensorsInfo from negotiated caps instead of property

- Get TensorsInfo from negotiated caps
- Remove input-type and input-dim property

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
14 months ago[CodeClean] missed tags
Jaeyun Jung [Fri, 12 May 2023 06:20:49 +0000 (15:20 +0900)]
[CodeClean] missed tags

Code clean, add brief tag of newly added functions.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
14 months ago[TEST] remove meaningless test
SuYeon [Fri, 12 May 2023 01:53:52 +0000 (10:53 +0900)]
[TEST] remove meaningless test

 - remove meaningless test
 - issue has been resolved

Signed-off-by: SuYeon <suyeon5.kim@samsung.com>
14 months ago[Debian] Update ubuntu control file
gichan [Thu, 4 May 2023 10:41:24 +0000 (19:41 +0900)]
[Debian] Update ubuntu control file

 - Add json-glib-dev dep
 - Remove python2, tf, tf-lite

Signed-off-by: gichan <gichan2.jang@samsung.com>
15 months ago[Filter] Add doxygen tag for mxnet subplugin
gichan [Tue, 2 May 2023 08:28:54 +0000 (17:28 +0900)]
[Filter] Add doxygen tag for mxnet subplugin

Add missing doxygen tag for mxnet tensor filter subplugin.

Signed-off-by: gichan <gichan2.jang@samsung.com>
15 months agoApply clang format to cpp files
www-data [Wed, 3 May 2023 07:06:02 +0000 (16:06 +0900)]
Apply clang format to cpp files

Apply clang format to all files

Signed-off-by: www-data <www-data@ip-172-31-18-85.ap-northeast-2.compute.internal>
15 months ago[MQTT] Change string copy
gichan [Thu, 27 Apr 2023 06:15:47 +0000 (15:15 +0900)]
[MQTT] Change string copy

Change string copy to avoid gcc-12 build error.

Signed-off-by: gichan <gichan2.jang@samsung.com>
15 months ago[datareposink] Change the Confirm file creation part in TC
hyunil park [Mon, 24 Apr 2023 02:33:26 +0000 (11:33 +0900)]
[datareposink] Change the Confirm file creation part in TC

- Change the confirm file creation
- Move ASSERT

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months agoUpdate tutorial2_object_detection.md
pasteldream-ps [Thu, 6 Apr 2023 14:32:37 +0000 (23:32 +0900)]
Update tutorial2_object_detection.md

Add `nnstreamer-tensorflow2-lite` package to the install instruction in the tutorial

Signed-off-by: pasteldream-ps <128911696+pasteldream-ps@users.noreply.github.com>
15 months ago[Tizen] Exclude test files for SAM
gichan [Mon, 24 Apr 2023 04:08:24 +0000 (13:08 +0900)]
[Tizen] Exclude test files for SAM

Exclude test files for SAM

Signed-off-by: gichan <gichan2.jang@samsung.com>
15 months ago[SVACE] Fix SVACE and coverity issue accepted/tizen/unified/20230424.185348
hyunil park [Fri, 21 Apr 2023 10:26:55 +0000 (19:26 +0900)]
[SVACE] Fix SVACE and coverity issue

- Fix SVACE and coverity issue

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[common] Set as error when flexible tensor is requsted for extra tensor
Yongjoo Ahn [Fri, 21 Apr 2023 09:07:38 +0000 (18:07 +0900)]
[common] Set as error when flexible tensor is requsted for extra tensor

- Extra tensors does not yet support flexible tensor.
- Set this case as error.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Change the value of NNS_TENSOR_SIZE_EXTRA_LIMIT 200 -> 100
Yongjoo Ahn [Fri, 21 Apr 2023 08:54:14 +0000 (17:54 +0900)]
[common] Change the value of NNS_TENSOR_SIZE_EXTRA_LIMIT 200 -> 100

- Large stack use can be dangerous, decrease the value.
- 100 is still enough to the criteria

TODO: Change the tensor_filter code to allocate dynamically extra infos

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[TEST] Add TC for datarepo and tensor_trainer validation
hyunil park [Fri, 21 Apr 2023 04:22:11 +0000 (13:22 +0900)]
[TEST] Add TC for datarepo and tensor_trainer validation

- Add datareposrc TC
- Add datareposink TC
- Add tensor_trainer TC

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[datareposrc] Add tensor-sequence property
hyunil park [Fri, 24 Mar 2023 10:52:52 +0000 (19:52 +0900)]
[datareposrc] Add tensor-sequence property

- Tensors in a sample are read into gstBuffer according to input sequence.
- Only read the set tensors among all tensors in a sample.
- It is for other/tensors and default value is NULL.
- Add checking int param value

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[datareposink] Add json property
hyunil park [Mon, 10 Apr 2023 05:20:21 +0000 (14:20 +0900)]
[datareposink] Add json property

- Add setting JSON file path to write the meta information of a sample data
- Write gstreamer caps, sample size, and number of total samples
- In the case of flexible tensors, write the offset of each sample except the sample size

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[datareposrc] Add json property
hyunil park [Fri, 17 Mar 2023 05:23:31 +0000 (14:23 +0900)]
[datareposrc] Add json property

- Add setting json file path to read meta information of the file specified as locaton
- Add function to read and validate JSON file for each types
- The sample size is calculated from reading JSON file

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[API][tensor_trainer] Change type of structure member variable
hyunil park [Mon, 17 Apr 2023 05:42:59 +0000 (14:42 +0900)]
[API][tensor_trainer] Change type of structure member variable

- Change from int64_t to unsigned int
- Bug-fix: When passing values to a sub-plugin in an arm 32bit environment, invalid values are passed.
- Add function to Check invalid param
- Remove default framework
- Change some default value

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[test] Add a tflite inference test with 32 in/output model
Yongjoo Ahn [Thu, 23 Feb 2023 09:29:47 +0000 (18:29 +0900)]
[test] Add a tflite inference test with 32 in/output model

- Add a simple tflite model file with 32 inputs whose return
  values are 32 outputs (add 1.0 to each input)
- Add a unittest to test inference of the model.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[filter] Fix tflite filter to handle extra tensors
Yongjoo Ahn [Thu, 23 Feb 2023 09:27:10 +0000 (18:27 +0900)]
[filter] Fix tflite filter to handle extra tensors

- Change the configuration methods to handle extra tensors

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[filter] Fix tensor_filter to support extra tensors
Yongjoo Ahn [Thu, 23 Feb 2023 09:25:07 +0000 (18:25 +0900)]
[filter] Fix tensor_filter to support extra tensors

- Fix the transform method to handle buffers containing extra tensors

TODO: handle input/output combi
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Add a util getting number of tensors in GstBuffer
Yongjoo Ahn [Thu, 23 Feb 2023 09:10:26 +0000 (18:10 +0900)]
[common] Add a util getting number of tensors in GstBuffer

- Add function `gst_buffer_n_tensor` returns the number of
  total tensors in the given GstBuffer.
- This considers the extra tensors reside in the last GstMemory

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Fix util _is_structure_dimensions_same
Yongjoo Ahn [Thu, 23 Feb 2023 09:04:18 +0000 (18:04 +0900)]
[common] Fix util _is_structure_dimensions_same

-  Add calls to init and free tensors_info

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Add a util for get tensor info from tensors_info
Yongjoo Ahn [Thu, 23 Feb 2023 09:00:32 +0000 (18:00 +0900)]
[common] Add a util for get tensor info from tensors_info

- Add a util getting nth info from given tensors_info

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Fix util functions for tensors info
Yongjoo Ahn [Thu, 23 Feb 2023 08:48:51 +0000 (17:48 +0900)]
[common] Fix util functions for tensors info

- Let those util functions handle the extra info.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Fix create/free of extra tensor info
Yongjoo Ahn [Thu, 23 Feb 2023 08:40:13 +0000 (17:40 +0900)]
[common] Fix create/free of extra tensor info

- Do not clear existing extra info in the create function.
- Set null after free the memory.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[datareposink] Add supportable caps and writing function according to the media type
hyunil park [Mon, 3 Apr 2023 07:07:41 +0000 (16:07 +0900)]
[datareposink] Add supportable caps and writing function according to the media type

- Add supportable caps
  other/tensors, video/x-raw, audio/x-raw, text/x-raw, application/octet-stream
  image/png, image/jpeg, image/tiff, image/gif
- Get media_type from caps
- Add a function to write a file according to the media type,
  images are written as multi-files

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[datareposrc] Add is-shuffle property
hyunil park [Fri, 10 Mar 2023 06:04:08 +0000 (15:04 +0900)]
[datareposrc] Add is-shuffle property

- If the value is true, samples index are shuffled, default value is true
- The sample index is the order in which samples are stored in the file, starting from 0

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[EDGE] Add MQTT data transmission test
gichan [Wed, 15 Mar 2023 08:15:47 +0000 (17:15 +0900)]
[EDGE] Add MQTT data transmission test

Add run test for MQTT data transmission of edgesrc/sink.

Signed-off-by: gichan <gichan2.jang@samsung.com>
15 months ago[test] Add test for tensor_mux with 20 sinkpads
Yongjoo Ahn [Thu, 9 Feb 2023 12:50:26 +0000 (21:50 +0900)]
[test] Add test for tensor_mux with 20 sinkpads

- Add a testcase of tensor_mux with 20 sinkpads

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Fix gst_tensors_config_from_structure to support extra tensors
Yongjoo Ahn [Thu, 9 Feb 2023 13:00:47 +0000 (22:00 +0900)]
[common] Fix gst_tensors_config_from_structure to support extra tensors

- if num_tensors is larger than NNS_TENSOR_SIZE_LIMIT, create extra info
  in the tensors info

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Update gst_tensor_time_sync_buffer_from_collectpad to support extra tensors
Yongjoo Ahn [Thu, 9 Feb 2023 12:46:33 +0000 (21:46 +0900)]
[common] Update gst_tensor_time_sync_buffer_from_collectpad to support extra tensors

- Fix the api to collect buffer from pads more than NNS_TENSOR_SIZE_LIMIT.
- This api currently used in the tensor_mux and tensor_merge.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[tensor_mux] Free tensors_config in finalize function.
Yongjoo Ahn [Thu, 9 Feb 2023 12:45:45 +0000 (21:45 +0900)]
[tensor_mux] Free tensors_config in finalize function.

- Free configured tensors_config in the finalization.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[datareposrc] Add start/stop-sample-index and epochs property
hyunil park [Fri, 10 Feb 2023 09:16:51 +0000 (18:16 +0900)]
[datareposrc] Add start/stop-sample-index and epochs property

- Add start-sample-index and stop-sample-index for setting
  range of files or samples to read (set none, set both, or set one)
- Add epochs property to set number of repetitions,
  datareposrc read range of files or samples for epochs
- Add gst_base_src_set_live and move start function to create function.
  a. datareposrc can get media type and size after set_caps(), but
     set_caps is completed after PAUSED_TO_PLAYING.
  b. filling the buffer should be pending until set_caps().
  c. datareposrc is a live source.

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[tensor_trainer] Modify query caps to support negotiation with fixed caps of peers
hyunil park [Mon, 30 Jan 2023 02:16:06 +0000 (11:16 +0900)]
[tensor_trainer] Modify query caps to support negotiation with fixed caps of peers

- Support negotiation without tensor_converter
- Modify Example launch line

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[datareposrc] Add supportable caps and function to read file
hyunil park [Wed, 8 Feb 2023 06:37:30 +0000 (15:37 +0900)]
[datareposrc] Add supportable caps and function to read file

- Add supportable caps
  other/tensors, video/x-raw, audio/x-raw, text/x-raw, application/octet-stream
  image/png, image/jpeg, image/tiff, image/gif

- Add get_caps and set_caps function for caps negotiation

- Get media mimetype and media size after set_caps
  a. get video size (Byte/frame)
  b. get audio size (Bps)
  c. get tensor type size

- Add function to read file from the MLOps Data repository
  a. In case of tensors, tensors data are added to a single gstbuffer.
  b. In case of image files, a image file is added to a single gstbuffer,
     Images are numbered files
  c. In other cases, data of size calculated in set_caps is added to a singgle gstbuffer

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[tensor_trainer] Add epochs property
hyunil park [Thu, 5 Jan 2023 07:13:12 +0000 (16:13 +0900)]
[tensor_trainer] Add epochs property

- Add epochs property to inform the total amount of data subplugin can receive
- tensor_trainer should receive total number of samples (num-training-samples + num-validation-samples) * epochs
- Change data type of some properties from uint to int64
- Modify Example launch

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[Tests] Move generateTest script to non-optional test directory
Alexi Birlinger [Wed, 12 Apr 2023 07:58:50 +0000 (09:58 +0200)]
[Tests] Move generateTest script to non-optional test directory

Script 'generateTest.py' location induces ssat test failures for platform not supporting
Pytorch as meson build set nnstreamer_filter_pytorch only if 'pytorch_support_is_available'
flag is true.

Move 'generateTest.py' script to nnstreamer_converter directory as this test suite is
installed by default. This location has been selected for two main reasons:
    - nnstreamer_converter is using this script
    - another script used in the same way was already located in this directory

Signed-off-by: Alexi Birlinger <alexi.birlinger@nxp.com>
15 months ago[test] Fix unittest_sink with recent change in GstTensorsInfo
Yongjoo Ahn [Thu, 9 Feb 2023 12:38:32 +0000 (21:38 +0900)]
[test] Fix unittest_sink with recent change in GstTensorsInfo

- Add init and free of tensors_info in the callback

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[test] Add and fix tensor info tests using extra info
Yongjoo Ahn [Tue, 7 Feb 2023 07:11:49 +0000 (16:11 +0900)]
[test] Add and fix tensor info tests using extra info

- Add test for new utils which handle extra info
- Fix tests that check NNS_TENSOR_SIZE_LIMIT in get/parse type/dim/name
  of tensor_info

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Add utils for extra info in tensors_info
Yongjoo Ahn [Tue, 7 Feb 2023 07:08:48 +0000 (16:08 +0900)]
[common] Add utils for extra info in tensors_info

- Add create and free APIs for extra info
- `gst_tensors_info_extra_create (GstTensorsInfo *info)
- `gst_tensors_info_extra_free (GstTensorsInfo *info)
- Fix get/parse utils for type, dim, name of tensor_info

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[common] Add extra tensorInfo for 16+th tensors
Yongjoo Ahn [Tue, 7 Feb 2023 04:57:37 +0000 (13:57 +0900)]
[common] Add extra tensorInfo for 16+th tensors

- Add a pointer of GstTensorInfo in GstTensorsInfo struct. And name it
  as "extra"

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
15 months ago[Tizen] allowed elements - datarepo
Jaeyun Jung [Fri, 14 Apr 2023 07:03:38 +0000 (16:03 +0900)]
[Tizen] allowed elements - datarepo

Update the list of allowed elements - add datareposrc/sink in Tizen.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
15 months ago[datareposink] Create datareposink initial element
hyunil park [Thu, 30 Mar 2023 07:07:05 +0000 (16:07 +0900)]
[datareposink] Create datareposink initial element

- Create datareposink initial version
- Add location property to set the path for saving a file
- Add basic file writing functionality

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
15 months ago[transform] add per-channel op w/ORC
byunghun [Tue, 11 Apr 2023 05:35:14 +0000 (14:35 +0900)]
[transform] add per-channel op w/ORC
add if statement to support tensor transform arithmetic orc op w/ORC

Signed-off-by: byunghun <byungs286@gmail.com>
15 months ago[Subplugin/TRIx] rank limit accepted/tizen/unified/20230413.123717
Jaeyun Jung [Thu, 6 Apr 2023 11:19:02 +0000 (20:19 +0900)]
[Subplugin/TRIx] rank limit

Check rank limit (max rank in trix-engine is 4 but nnstreamer is 8)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
16 months ago[Util] add structure in caps for backward compatibility
Yelin Jeong [Thu, 26 Jan 2023 01:40:42 +0000 (10:40 +0900)]
[Util] add structure in caps for backward compatibility

This patch adds structure in caps for backward compatibility.
_get_tensor(s)_caps returns caps which have both 4,8 rank dimension.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
16 months ago[transform] increase rank for tensor_transform
Yelin Jeong [Thu, 29 Dec 2022 01:55:26 +0000 (10:55 +0900)]
[transform] increase rank for tensor_transform

This patch increases rank to 8 for tensor_transform.
- change regex pattern
- add test cases using transpose, dimchg

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
16 months ago[tizensensor] Increase TizenSensorSpec dimension
Yelin Jeong [Thu, 29 Dec 2022 01:48:58 +0000 (10:48 +0900)]
[tizensensor] Increase TizenSensorSpec dimension

This patch increases TizenSensorSpec's dimension to 8.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
16 months ago[Tests] Add tests for increasing rank
Yelin Jeong [Thu, 29 Dec 2022 01:45:16 +0000 (10:45 +0900)]
[Tests] Add tests for increasing rank

This patch changes hardcoded ranks and adds higher rank testdata.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
16 months ago[tensor] increase NNS_TENSOR_RANK_LIMIT
Yelin Jeong [Tue, 27 Dec 2022 09:46:11 +0000 (18:46 +0900)]
[tensor] increase NNS_TENSOR_RANK_LIMIT

This patch increases NNS_TENSOR_RANK_LIMIT to 8

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
16 months ago[tensor_trainer] Determined g_cond_wait by train_complete when receive EOS
hyunil park [Wed, 4 Jan 2023 09:43:48 +0000 (18:43 +0900)]
[tensor_trainer] Determined g_cond_wait by train_complete when receive EOS

- To avoid dead lock, g_cond_wait is determined by train_complete value of
GstTensorTrainerFrameworkInfo when receive EOS

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
16 months ago[GithubAction] Remove ubuntu 18.04 build
gichan [Tue, 4 Apr 2023 02:50:53 +0000 (11:50 +0900)]
[GithubAction] Remove ubuntu 18.04 build

Remove ubuntu 18.04 build since this distro has benn deprecated.
refer:
Annotations
2 errors and 5 warnings
build (ubuntu-18.04)
The ubuntu-18.04 environment is deprecated, consider switching to ubuntu-20.04 or ubuntu-22.04 (ubuntu-latest). For more details, see https://github.com/actions/runner-images/issues/6002
build (ubuntu-18.04)
GitHub Actions has encountered an internal error when running your job.

Signed-off-by: gichan <gichan2.jang@samsung.com>