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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Yelin Jeong [Thu, 23 Mar 2023 08:49:55 +0000 (17:49 +0900)]
[filter] Fix the wrong index in tflite filter
This patch fixes the wrong start index in tflite filter.
If rank starts from 0, some dimension info can be ignored.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
Jaeyun Jung [Tue, 21 Mar 2023 06:31:13 +0000 (15:31 +0900)]
[Common] hide struct for extra tensor
Hide data structure (header in memory block) for extra tensor.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Mon, 20 Mar 2023 09:44:58 +0000 (18:44 +0900)]
[CodeClean] function to add extra tensor
Code clean and fix svace issue,
1. update util function name and remove unnecessary function.
2. unmap gst-memory if failed to handle extra tensor.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
gichan [Wed, 15 Mar 2023 08:23:05 +0000 (17:23 +0900)]
[Query] Remove UDP connection type from tensor_query.
Remove UDP connection type because we don't have plan to support it for
tensor query.
Signed-off-by: gichan <gichan2.jang@samsung.com>
hyunil park [Thu, 2 Mar 2023 06:11:24 +0000 (15:11 +0900)]
[API][trainer] Rename some variable to use nouns instead of verbs
- Rename 'train' and 'valid' to 'training' and 'validation'
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Mon, 30 Jan 2023 10:59:35 +0000 (19:59 +0900)]
[datareposrc] Create datareposrc initial element
- Create datareposrc initial version
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Tue, 27 Dec 2022 06:31:57 +0000 (15:31 +0900)]
[tensor_trainer] Change the condition for generating the output tensor
- An output tensor is created when there is a epoch result
- Remove push_output property
- output type is changed to float64
- Add gst_buffer_unref() in chain function to unref input gstbuffer
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
Yongjoo Ahn [Tue, 21 Feb 2023 03:48:33 +0000 (12:48 +0900)]
[build] Fix gbs.conf for tizen repos
- Change latest -> reference to fix CI build failure
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 30 Jan 2023 11:56:49 +0000 (20:56 +0900)]
[test] Add simple unittest using "extra tensors" APIs
- Add a simple TC which push and get 20 tensors.
- Note that the pipeline used in this TC does not care about the caps or negotiation.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 9 Feb 2023 12:30:33 +0000 (21:30 +0900)]
[trivial] Check gst-indent to nnstreamer_plugin_api
- Run gst-indent to nnstreamer_plugin_api.h and
nnstreamer_plugin_api_impl.c
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 9 Feb 2023 12:11:10 +0000 (21:11 +0900)]
[common] Add API which appends a GstMemory into given GstBuffer
- Add a function to check whether the given memory has extra tensors.
- Add an API which appends given GstMemory into given GstBuffer.
It append the memory into the last block of buffer with given tensor
info in extra tensor scenario.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 30 Jan 2023 11:52:42 +0000 (20:52 +0900)]
[num_tensors] Add APIs for GstTensorExtraInfo
- Add an init API `gst_tensors_extra_init`
- Add an API `gst_tensors_get_nth_memory` which returns GstMemory from given GstBuffer with index larger than 16.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 30 Jan 2023 11:49:51 +0000 (20:49 +0900)]
[num_tensors] Add header structure for 16+th tensors.
- Those tensors would be packed into 16th GstMemory in a GstBuffer.
- Define NNS_TENSOR_SIZE_EXTRA_LIMIT as 200
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Wed, 8 Feb 2023 05:30:38 +0000 (14:30 +0900)]
[Test] Fix the test failure
After upgrading the version of GStreamer to 1.22.0, the test case of the
Tizen sensor filter failed. This is mainly because gst_parse_launch()
can return a non-NULL value even though the error is set. So error
should be checked first before using the return value of
gst_parse_launch(). This code fixes this bug.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Torsten Schulz [Fri, 13 Jan 2023 01:47:56 +0000 (17:47 -0800)]
[tensor_converter] Remove a seemingly unnecessary caps attribute views=1
This fix makes tensor_converter compatible with vaapih264dec and adds a WARNING if incoming video caps views>1.
The need for this workaround and warning has been surfaced because of
a bug in vaapih264hdec https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1712
which provides `video/x-raw, ... multiview-mode=(string)mono, ... views=(int)2`.
The caps restriction of `views=(int)1` prohibits the successful negotiation.
This has been tested with a mono video but not with a truly
stereoscopic video which might need further handling in the buffer
processing.
Signed-off-by: Torsten Schulz <torsten.schulz@gmail.com>
hyunil park [Fri, 20 Jan 2023 02:22:39 +0000 (11:22 +0900)]
[tensor_trainer] Rename callback parameter name
- Change 'train' and 'invoke' to 'start' and 'push_data' respectively
- Rename function releated to callback
- fix typo
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Mon, 26 Dec 2022 06:22:31 +0000 (15:22 +0900)]
[tensor_trainer] Fixed output tensor's dimension and type
Remove the properties that determines the output tensor's caps
- Remove output and outputtype property
- Add initialization of output tensor's dimension and type
- output dimension is 1:1:4:1, '4' has the value of loss, accuracy,
val_loss, val_accuracy
- output type is float16
- Modify example launch line and log
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Thu, 15 Dec 2022 07:00:06 +0000 (16:00 +0900)]
[tensor_trainer] Change tensor_trainer from GstBaseTransfrom to GstElement
- A deleted GstBaseTransfrom's inheritance and used GstElement to push
GstBuffer only when necessary.
- Add event and query function for caps negotiation
- Add chain function for handling input buffer
- Remove virtual function of GstBaseTransfrom
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Tue, 13 Dec 2022 05:46:25 +0000 (14:46 +0900)]
[tensor_trainer] Add train_complete_cond signal
- Add signal for waitng model train complete
Tensor trainer need to wait when receive EOS event before model training is complete,
subplugin should send signal when model train is complete
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Thu, 1 Dec 2022 08:56:57 +0000 (17:56 +0900)]
[tensor_trainer] Apply tensor trainer sub-plugin structure
- Apply GstTensorTrainerProperties for internal data required by sub-plugin
- Apply GstTensorTrainerFramework for sub-plugin definition
- Apply trainer subpluginType(NNS_SUBPLUGIN_TRAINER) to get, register and
unregister subplugin
- Add model-save-path property to set path for saving trained model
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Mon, 31 Oct 2022 04:59:29 +0000 (13:59 +0900)]
[tensor_trainer] Add properties for training in sub-plugin
- Add model-config to set model configuration file,
it is used to configure the model to be trained in framework
- Add push-output to push output tensors, default value is false
- Add num-inputs to set how many inputs are received,
an input in a tensor can have one or more features data
- Add num-labels to set how many labels are received,
a label in a tensor can have one or more classes data
- Add num-training-samples to set how many samples are taken for training model
- Add num-validation-samples to set how many samples are taken for validation model
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Fri, 28 Oct 2022 00:09:07 +0000 (09:09 +0900)]
[tensor_trainer] Create tensor_trainer initial element
- Add basic function (event handler, finalize, start, stop, change state, property)
- Add property (framework, input, output, inputtype and outputtype)
- Add caps negotiation (transform_caps, fixate_caps and set_caps)
- Add checking pipeline's input tensor info and tensor's set property values
- Add finding framework and sub-plugin
- Add calling invoke function in transfrom function
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Wed, 25 Jan 2023 02:18:43 +0000 (11:18 +0900)]
[API][trainer] Packaging nnstreamer_plugin_api_trainer.h into debian
- Packaing header file to nnstreamer-single-dev.install
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Wed, 25 Jan 2023 01:57:05 +0000 (10:57 +0900)]
[API][trainer] Change type of train_complete to int
- Sub-plugin using c++ cannot access this type
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Wed, 18 Jan 2023 04:23:32 +0000 (13:23 +0900)]
[API][trainer] Change callback parameter name of GstTensorTrainerFramework
- Change 'train' and 'invoke' to 'start' and 'push_data' respectively
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
gichan [Fri, 6 Jan 2023 04:52:02 +0000 (13:52 +0900)]
[Query] Prevent overwriting of the query server caps
Add new function to set query server caps.
This patch prevents the race condition of the query server caps.
Signed-off-by: gichan <gichan2.jang@samsung.com>
hyunil park [Thu, 5 Jan 2023 05:13:00 +0000 (14:13 +0900)]
[API][trainer] Add number of epoch and epoch count
- Add num_epochs to inform the total amount of data than sub-plugin can receive
- Add epoch count to provide currently epoch information for sub-plugin to tensor_trainer
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Wed, 4 Jan 2023 09:30:16 +0000 (18:30 +0900)]
[API][trainer] Add train_complete to GstTensorTrainerFrameworkInfo
To abvoid dead lock, g_cond_wait is determined by train_complete value
when receive EOS.
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Mon, 26 Dec 2022 08:28:14 +0000 (17:28 +0900)]
[API] Add nnstreamer_plugin_api_trainer.h to spec for rpm packaging
Add header to nnstreamer.spec for rpm packaging
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
hyunil park [Wed, 30 Nov 2022 04:31:03 +0000 (13:31 +0900)]
[API] Add structure for tensor_trainer's sub-plugin
- Create nnstreamer_plugin_api_trainer.h
- Add GstTensorTrainerFramework to define tensor_trainer sub-plugin
- Add GstTensorTrainerProperties to send tensor_trainer properties
- Add GstTensorTrainerFrameworkInfo to get framework information
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
Yongjoo Ahn [Tue, 3 Jan 2023 08:27:55 +0000 (17:27 +0900)]
[fix][tensor_filter] Fix the first output with garbage value with tflite
- The output buffer address may change after the first invoke.
- To handle this case, Memcpy the output from tflite interpreter
at the first invoke.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Wook Song [Tue, 27 Dec 2022 04:35:50 +0000 (13:35 +0900)]
Filter/Meson: Move 'filter-snpe-list' to the build directory
This patch moves the 'filter-snpe-list' file generated during the build
time from the source directory to the build directory.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 27 Dec 2022 08:12:23 +0000 (17:12 +0900)]
Dist/Tizen: Define a macro that designates build directory
This patch replaces the hard-coded 'build' directory with a macro
designating the build directory.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Yongjoo Ahn [Thu, 29 Dec 2022 08:31:30 +0000 (17:31 +0900)]
[test] Add testcases for tensor_mux and tensor_merge with num_tensors=16
- Add simple testcases for tensor_mux and tensor_merge when the
num_tensors equals 16
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 27 Dec 2022 04:56:10 +0000 (13:56 +0900)]
[fix] Fix NNS_TENSOR_SIZE_LIMIT check in collectpad
- Fix assertion checking the NNS_TENSOR_SIZE_LIMIT
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Wook Song [Mon, 26 Dec 2022 04:16:29 +0000 (13:16 +0900)]
Filter/API: Fix wrong indentation
This is a trivial patch that fixes the wrong indentation.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 26 Dec 2022 03:32:26 +0000 (12:32 +0900)]
Filter/API: Update out-of-date comments
This patch updates out-of-date comments which have not followed the
changes in tensor_filter.c and tensor_filter_common.c.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 26 Dec 2022 03:26:29 +0000 (12:26 +0900)]
Filter/API: Correct a typo
This patch corrected a type in the GstTensorFilterFramework's version
field.
Signed-off-by: Wook Song <wook16.song@samsung.com>
gichan [Fri, 23 Dec 2022 06:12:51 +0000 (15:12 +0900)]
[Join] Fix join run tesh pipeline.
Fix join runTesh pipeline.
- Increase the number of buffers : Before the multifilesink saves four files, the pipeline receives the EOS and stops. This is prevented by increasing the number of buffers.
- Change tensor mux sync mode: Set the buffer used for comparison used by tensor_if slowly enough and sync on this buffer.
- Enable timestamp.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Wook Song [Fri, 23 Dec 2022 02:21:38 +0000 (11:21 +0900)]
GitHub/Actions: Enable binary tests defined in the meson script
This patch makes the unit test cases defined in the meson build script
run.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 5 Dec 2022 07:07:12 +0000 (16:07 +0900)]
GitHub/Actions: Use a matrix strategy in the workflow for Ubuntu
As 'ubuntu-latest' is currently migrating from 20.04 to 22.04 [1], this
patch uses a matrix strategy in our CI/CD workflow for Ubuntu.
[1] https://github.com/actions/runner-images#ongoing-migrations
Signed-off-by: Wook Song <wook16.song@samsung.com>
Yelin Jeong [Wed, 21 Dec 2022 08:26:36 +0000 (17:26 +0900)]
[tests] change hardcoded dimension compare to use NNS_TENSOR_RANK_LIMIT
This patch changes to use NNS_TENSOR_RANK_LIMIT instead of hardcoded dimension.
It will be used for increasing NNS_TENSOR_RANK_LIMIT
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
Yongjoo Ahn [Fri, 16 Dec 2022 07:12:58 +0000 (16:12 +0900)]
[decoder] Support scaled-output model for yolov5 bounding box decoder
- The yolov5 models released by github.com/ultralytics/yolov5 have
different output semantics:
- the output of tfliteand tf models should be scaled to input image
size.
- torchscript and others return scaled output value.
- This patch support those two semantics by add option3:
- option1=yolov5 ... option3=0 ... (default) for tflite models
- option1=yolov5 ... option3=1 ... for other models
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 16 Dec 2022 06:27:27 +0000 (15:27 +0900)]
[decoder] Update yolov5 decoder parameters
- Set the conf and iou threshold values to follow the upstream
https://github.com/ultralytics/yolov5.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Thu, 22 Dec 2022 08:20:53 +0000 (17:20 +0900)]
[lcov] Change base directory
Because the file path for build has been changed to relative path, change base directory for lcov.
This patch fixes failure of coverage generation.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Thu, 22 Dec 2022 09:45:01 +0000 (18:45 +0900)]
[spec] Disable armnn_support option as default
Since ARMNN is deprecated in Tizen, this patch disables the
armnn_support option.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
gichan [Tue, 20 Dec 2022 07:53:59 +0000 (16:53 +0900)]
[TEST/coverity] Check return value
Fix coverity issue.
- Check return value of `g_remove`.
Signed-off-by: gichan <gichan2.jang@samsung.com>
MyungJoo Ham [Mon, 5 Dec 2022 10:32:17 +0000 (19:32 +0900)]
riscv64 alpine linux --> ubuntu
Try Ubuntu instead of alpine for riscv64 tests
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Sangjung Woo [Fri, 16 Dec 2022 02:38:24 +0000 (11:38 +0900)]
[Svace] Fix the array overflow issue
The result of 'sizeof (dump_list_type) / sizeof (nnsconf_type_path)' is
4 but dump_list_str array has only 3 items. Because of this reason, it
can occur the array overflow issue. This patch fixes this issue.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yelin Jeong [Wed, 7 Dec 2022 10:54:16 +0000 (19:54 +0900)]
[Common] Add common utils for tensors dimension compare
This patch adds common function for tensors dimension compare.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
gichan [Thu, 8 Dec 2022 06:35:08 +0000 (15:35 +0900)]
[Query] remove mqtt connection type enum
Since the tensor query does not send data through the mqtt, remove unnecessary enum.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Mon, 12 Dec 2022 02:29:56 +0000 (11:29 +0900)]
[Meson] Don't use join_paths for library.
Let's use `files` instead of `join_paths` to create a library.
This patch prevents object file name containing the absolute path.
Refer: https://mesonbuild.com/Reference-manual_functions.html#join_paths
@todo: Update the tests in the next PR.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yelin Jeong [Mon, 12 Dec 2022 08:09:48 +0000 (17:09 +0900)]
[Lua] Allow to declare TensorInfo not using full dimension
This patch allows to declare TensorInfo not using full dimension.
It will be used for increaseing NNS_TENSOR_RANK_LIMIT.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>