platform/core/ml/nntrainer.git
2 years ago[CAPI/ACR] Fix typo and doxygen tag
Jihoon Lee [Tue, 3 Aug 2021 04:36:56 +0000 (13:36 +0900)]
[CAPI/ACR] Fix typo and doxygen tag

This patch reflects review from #1371, #1446

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[Trivial] Reflect acr review script
Jihoon Lee [Tue, 3 Aug 2021 04:14:01 +0000 (13:14 +0900)]
[Trivial] Reflect acr review script

This patch reflect acr review scripts, which contains some trivial fixes
like adding a period at the end.

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[CAPI/ACR] Add remark on tensor info getter
Jihoon Lee [Tue, 3 Aug 2021 03:33:51 +0000 (12:33 +0900)]
[CAPI/ACR] Add remark on tensor info getter

This patch adds remark on tensor info getter that info should not be
destroyed when fail to create

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[fixes] Add bug fixes from asan
Jihoon Lee [Thu, 12 Aug 2021 08:19:50 +0000 (17:19 +0900)]
[fixes] Add bug fixes from asan

**Changes proposed in this PR:**
- Fix issues from address sanitizer
- Enable deprecated-declaration warning but disable for some files

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[fixes] Add bug fixes found with address sanitizer
Parichay Kapoor [Thu, 12 Aug 2021 06:44:25 +0000 (15:44 +0900)]
[fixes] Add bug fixes found with address sanitizer

This patch adds bug fixes after adding fixes related to address
sanitzer:
- NNStreamerLayer wasnt freeing resources upon destruction
- accessing released model handle in capi unittest
- not releasing model handle before end of unittest

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[Dataset] Remove unused part from refactoring
Jihoon Lee [Wed, 14 Jul 2021 16:42:49 +0000 (01:42 +0900)]
[Dataset] Remove unused part from refactoring

This patch removes parts that are no longer used from the refactoring

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[Dataset] Adopt new datagetter to databuffer
Jihoon Lee [Wed, 14 Jul 2021 15:43:32 +0000 (00:43 +0900)]
[Dataset] Adopt new datagetter to databuffer

**Changes Propsed in this PR**
1. Adopt new data getter to neuralnet / factory
2. Fix: bugs found in raw_file_data_producer
3. Fix: databuffer not feeding last iteration when error

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[tensor/test] Unittests for tensor allocate and initialize
Parichay Kapoor [Tue, 10 Aug 2021 01:29:31 +0000 (10:29 +0900)]
[tensor/test] Unittests for tensor allocate and initialize

Add unittests for tensor allocation and initialize the tensor memory in
various scenarios.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[layer] Add support for initializer in requestTensor
Parichay Kapoor [Tue, 27 Jul 2021 08:08:46 +0000 (17:08 +0900)]
[layer] Add support for initializer in requestTensor

This patch adds support for initializer in the requestTensor interface
of the layer context.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[weight] Weight cleanup related to initializer
Parichay Kapoor [Tue, 27 Jul 2021 06:47:48 +0000 (15:47 +0900)]
[weight] Weight cleanup related to initializer

This patch provides weight cleanup related to the initializer.
Weights dont take care of the initializer but rather let var_grad handle
it which in turn let tensor handle it.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[var_grad] Support initializer for var_grad
Parichay Kapoor [Tue, 27 Jul 2021 06:36:23 +0000 (15:36 +0900)]
[var_grad] Support initializer for var_grad

Support initializer for variables and gradient in var_grad with the
initializer of the tensor. This allows initialization to be done for
requested tensors as well, which will be updated in a later commit.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[Tensor] Support initializer with tensor
Parichay Kapoor [Tue, 27 Jul 2021 06:09:32 +0000 (15:09 +0900)]
[Tensor] Support initializer with tensor

Support initializer with tensor object natively.
Initialization will be done when the memory is allocated or can be
invoked manually as well.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[tensor] WeightInitializer refactor to Tensor::Initializer
Parichay Kapoor [Tue, 27 Jul 2021 05:38:10 +0000 (14:38 +0900)]
[tensor] WeightInitializer refactor to Tensor::Initializer

Rename/cleanup tensor functions to adhere with STL like function names.
Further, weight initializer has officially become tensor initializer.
The usage will be updated soon.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[tensor/weight] Update WeightInitializer to TensorInitializer
Parichay Kapoor [Mon, 26 Jul 2021 12:16:07 +0000 (21:16 +0900)]
[tensor/weight] Update WeightInitializer to TensorInitializer

Update weightInitializer to TensorInitializer.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[Dataset] Change factory signature
Jihoon Lee [Wed, 14 Jul 2021 09:58:22 +0000 (18:58 +0900)]
[Dataset] Change factory signature

Add properties to factory, given contructor argument, it is delegated to
the constructor

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Cc: Parichay Kapoor<pk.kapoor@samsung.com>
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[devel/pkg] Update the devel packaging
Parichay Kapoor [Mon, 26 Jul 2021 08:47:14 +0000 (17:47 +0900)]
[devel/pkg] Update the devel packaging

Update the devel packaging to remove unnecessary headers.
- weight/var_grad headers are removed
- app_context and other graph, network related headers are removed. They
can be added once network/neural network headers are refactored for
custom models.
- manager and dynamic_training_optimization header is removed
- databuffer headers are commented. They will be updated once dataset
refactoring is done.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[unittest] enable commented unittest
hyeonseok lee [Fri, 6 Aug 2021 03:51:40 +0000 (12:51 +0900)]
[unittest] enable commented unittest

 - Using ValuesIn function instead of Values cause the arguments are more than 50
 - Handle unused variables

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
2 years ago[tensordim] move implementation to source file
hyeonseok lee [Fri, 30 Jul 2021 12:31:10 +0000 (21:31 +0900)]
[tensordim] move implementation to source file

 - header file remains without implementaion

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
2 years agoDebian: you don't have debian-build meson option.
MyungJoo Ham [Thu, 5 Aug 2021 06:58:31 +0000 (15:58 +0900)]
Debian: you don't have debian-build meson option.

Remove unsupported meson build option from debian script.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[mesonbuild] update meson build
hyeonseok lee [Wed, 4 Aug 2021 04:07:59 +0000 (13:07 +0900)]
[mesonbuild] update meson build

 - Make platform meson option
 - Check sysroot

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
2 years ago[optimizer] Rename initialize to finalize
Parichay Kapoor [Wed, 4 Aug 2021 04:04:02 +0000 (13:04 +0900)]
[optimizer] Rename initialize to finalize

Rename initialize to finalize.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[layer] Update layer.h setProperty interface
Parichay Kapoor [Fri, 30 Jul 2021 05:37:45 +0000 (14:37 +0900)]
[layer] Update layer.h setProperty interface

Update the interface for the layer.h setProperty.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[optimizer] Cleanup optimizer and remove dependency on weight
Parichay Kapoor [Fri, 30 Jul 2021 05:26:25 +0000 (14:26 +0900)]
[optimizer] Cleanup optimizer and remove dependency on weight

Cleanup optimizer interface where some extra interfaces have been
removed, and arguments interface has been updated.
Further, the dependency on weight header has been removed, and added an
optimizer context interface which provides an interface to weight
related tensors required by the optimizer.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[Dataset] Implement data getter
Jihoon Lee [Tue, 13 Jul 2021 16:14:28 +0000 (01:14 +0900)]
[Dataset] Implement data getter

This patch implements data getter.
There are two types of data getter.

1. queue multiple iterations and get one by one
(`DataBuffer::startFetchWorker()`, `DataBuffer::fetch()`)

2. generate one iteration on the fly (`DataBuffer::batcher()`)

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[tensorfilter] Update tensor filter to use ccapi
Parichay Kapoor [Tue, 3 Aug 2021 03:33:49 +0000 (12:33 +0900)]
[tensorfilter] Update tensor filter to use ccapi

Update nntrainer's tensor filter for nnstreamer to depend only on ccapi
and nntrainer directly and internal headers.

See Also #986

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[DataSet] Refactor to use properties
Jihoon Lee [Tue, 13 Jul 2021 13:29:51 +0000 (22:29 +0900)]
[DataSet] Refactor to use properties

This patch enables properties in dataset while changing signature of
dataset

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[Dataset] Add thread safe queue for the buffer
Jihoon Lee [Tue, 13 Jul 2021 11:18:06 +0000 (20:18 +0900)]
[Dataset] Add thread safe queue for the buffer

Currently, databuffer is not queuing any iteration but requesting buffer
on-demand basis.
This patch adds thread safe queue for the buffer to queue multiple
buffers

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[weight/var_grad] Remove exposure of weight/var_grad
Parichay Kapoor [Mon, 26 Jul 2021 08:27:06 +0000 (17:27 +0900)]
[weight/var_grad] Remove exposure of weight/var_grad

This patch updates the usage of weight and var_grad headers in order to
hide them internally and not expose them in the devel headers.
The below changes are made to support this:
- weight and var_grad specs are declared separately in tensor wrapper
specs header.
- layer_context is made indepedent of the weight and var_grad
definition. The usages and implementation are moved to layer_context
souce file.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[utils] Split parse_utils into two for cleaner headers
Parichay Kapoor [Mon, 26 Jul 2021 06:58:47 +0000 (15:58 +0900)]
[utils] Split parse_utils into two for cleaner headers

Carve props_utils out of parse_utils to get cleaner headers
being shipped out with devel package.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[optimizer] Deprecate optimizer factory
Parichay Kapoor [Mon, 26 Jul 2021 05:49:47 +0000 (14:49 +0900)]
[optimizer] Deprecate optimizer factory

Deprecate usage of optimizer factory and replace it with app_context.
Further, app_context throw code update from runtime_error to
invalid_argument when the requested type of object is not found.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[test] capi unittest fix
Parichay Kapoor [Tue, 3 Aug 2021 02:28:08 +0000 (11:28 +0900)]
[test] capi unittest fix

C-API unittest was checking for throw but instead should be checking for
return value. This patch fixes the test.
Further, the unittests tries to free unallocated tensordim in error
cases. This patch resolves it too.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[CAPI] Move save/load api to public
Jihoon Lee [Mon, 26 Jul 2021 09:14:40 +0000 (18:14 +0900)]
[CAPI] Move save/load api to public

This patch moves save/load api to public

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[tensor_filter] Remove dependency on nntrainer::Tensor
Parichay Kapoor [Mon, 26 Jul 2021 11:40:37 +0000 (20:40 +0900)]
[tensor_filter] Remove dependency on nntrainer::Tensor

Remove tensor filter implementations dependency on nntrianer::Tensor.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[tensor filter] Bugfix for nnstreamer's tensor filter
Parichay Kapoor [Mon, 26 Jul 2021 10:44:50 +0000 (19:44 +0900)]
[tensor filter] Bugfix for nnstreamer's tensor filter

This patch adds bugfix for the nnstreamer's tensorfilter of nntrainer.
- include proper headers required by the tensor filter header
- use the correct offset for the multi-input scenario

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[c++/model] Add model inference to c++ API
Parichay Kapoor [Mon, 26 Jul 2021 10:34:02 +0000 (19:34 +0900)]
[c++/model] Add model inference to c++ API

Add model inference to the c++ API using the vector of float ptrs as
inputs and outputs.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[loss] BugFix for regularization loss
Parichay Kapoor [Mon, 2 Aug 2021 08:55:05 +0000 (17:55 +0900)]
[loss] BugFix for regularization loss

This patch adds bugfix for regularization loss calculation.
Regularization loss must be calculated before the weight is updated in
backwarding, but this was not being done.
This patch provides the corresponding fix.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[test] Enable c/cc diabled tests
Parichay Kapoor [Fri, 30 Jul 2021 07:11:08 +0000 (16:11 +0900)]
[test] Enable c/cc diabled tests

This patch enables c/cc disabled tests.
Corresponding required updates in the tests are also added.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
2 years ago[dataset] Add file producer
Jihoon Lee [Mon, 12 Jul 2021 12:28:12 +0000 (21:28 +0900)]
[dataset] Add file producer

This patch adds file producer which abstracts reading a raw file. Also,
this component makes sure that the file accepts various kind of input
shapes.

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
2 years ago[CAPI] Implement ml_train_model_get_input|output_dims
hyeonseok lee [Wed, 21 Jul 2021 11:22:30 +0000 (20:22 +0900)]
[CAPI] Implement ml_train_model_get_input|output_dims

 - Implement ml_train_model_get_input_dimensions
 - Implement ml_train_model_get_output_dimensions
 - Make a unittest for implemented apis

Self evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
2 years ago[tensor_dim] package tensor_dim.h with ccapi
hyeonseok lee [Thu, 29 Jul 2021 10:47:44 +0000 (19:47 +0900)]
[tensor_dim] package tensor_dim.h with ccapi

 - Package tensor_dim with ccapi
 - MAXDIM belongs to tensorDim class

Self evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
3 years ago[CAPI] Expose layer enums
Jihoon Lee [Tue, 27 Jul 2021 02:41:07 +0000 (11:41 +0900)]
[CAPI] Expose layer enums

This patch contains layer enums to be exposed

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[CAPI] Change tensor dim -> information
Jihoon Lee [Wed, 28 Jul 2021 03:11:26 +0000 (12:11 +0900)]
[CAPI] Change tensor dim -> information

This patch updates description of the tensors_info, while explicitly
stating that the information object is newly created

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Cc: Hyeonseok Lee<hs89.lee@samsung.com>
Cc: Parichay Kapoor<pk.kapoor@samsung.com>
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[ Layer ] Change OutputLayer to MultiOutLayer
jijoong.moon [Wed, 28 Jul 2021 02:41:10 +0000 (11:41 +0900)]
[ Layer ] Change OutputLayer to MultiOutLayer

Currently the feature of OutputLayer is not match. It is more like
Multiout layer. The type name and others are already multiout.

This commit includes,
  . Class name changed : OutputLayer --> MultiOutLayer
  . File name changed : output_layer.x --> multiout_layer.x

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[CAPI] Add ml_train_model_get_layer to internal
Jihoon Lee [Mon, 26 Jul 2021 09:08:08 +0000 (18:08 +0900)]
[CAPI] Add ml_train_model_get_layer to internal

This patch adds ml_train_model_get_layer to internal api

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[CAPI] Deprecate old dataset apis
Jihoon Lee [Mon, 26 Jul 2021 08:35:32 +0000 (17:35 +0900)]
[CAPI] Deprecate old dataset apis

This patch updates to deprecate old dataset apis

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[Dataset] Add callback generator
Jihoon Lee [Mon, 12 Jul 2021 09:36:49 +0000 (18:36 +0900)]
[Dataset] Add callback generator

This patch add callback producer to abstract generator

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[ GRU ] Add dropout mask
jijoong.moon [Fri, 23 Jul 2021 00:02:14 +0000 (09:02 +0900)]
[ GRU ] Add dropout mask

This commit includes:
. Implementation of drop out mask

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[Dataset] Add test for the random dataproducer
Jihoon Lee [Mon, 12 Jul 2021 06:47:44 +0000 (15:47 +0900)]
[Dataset] Add test for the random dataproducer

**Changes proposed in this PR:**
- Add random data producer tests
- Add abstract test for more data producers

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[ RNNT LOSS ] Add skeleton code for rnnt loss
jijoong.moon [Thu, 22 Jul 2021 06:35:30 +0000 (15:35 +0900)]
[ RNNT LOSS ] Add skeleton code for rnnt loss

This commit includes:
  . Sekeleton Code for RNNT Loss as an Custom Loss Layer
  . Sementic Unit Test

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[Android] Fix undefined definition
Jihoon Lee [Mon, 26 Jul 2021 10:47:28 +0000 (19:47 +0900)]
[Android] Fix undefined definition

This patch defines ML_API_COMMON_ROOT previously undefined

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[ LSTM ] Add dropout mask
jijoong.moon [Thu, 22 Jul 2021 23:55:44 +0000 (08:55 +0900)]
[ LSTM ] Add dropout mask

In this commit,
. drop out mask is added.
. calculation of drop out is implemented.

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[ RNN ] Add dropout mask
jijoong.moon [Thu, 22 Jul 2021 23:39:49 +0000 (08:39 +0900)]
[ RNN ] Add dropout mask

This commit includes :
  . implementation of mask for dropout

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[Android] Add missing dependency
Jihoon Lee [Mon, 26 Jul 2021 05:45:57 +0000 (14:45 +0900)]
[Android] Add missing dependency

This patch adds mssing dependency to the android application build

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[ Fix ] Fix android build error with meson
jijoong.moon [Mon, 26 Jul 2021 01:27:56 +0000 (10:27 +0900)]
[ Fix ] Fix android build error with meson

This commit includes,
  . Fix android build issues
    : openblas link and download

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[Fix] Initialize member variable
hyeonseok lee [Thu, 22 Jul 2021 04:33:17 +0000 (13:33 +0900)]
[Fix] Initialize member variable

 - Initialize std::function variable in constructor

Self evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
3 years ago[ TEST ] fix compilation error
jijoong.moon [Thu, 22 Jul 2021 13:03:51 +0000 (22:03 +0900)]
[ TEST ] fix compilation error

This commit includes,
  . compilation error fix : unused + wrong type comparison

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
3 years ago[unittest] multi output unittest
hyeonseok lee [Thu, 8 Jul 2021 10:32:09 +0000 (19:32 +0900)]
[unittest] multi output unittest

 - Modify unittest to test multi output case
 - Make setLabel function in neuralnet
   to set labels at all loss layers

Resolve #1367

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
3 years ago[network_graph] revise addlosslayer for multi output
hyeonseok lee [Fri, 25 Jun 2021 12:32:48 +0000 (21:32 +0900)]
[network_graph] revise addlosslayer for multi output

 - reorder addlosslayer to run before topologicalsort
 - Replace node_list rather than delete when the loss is entropy

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
3 years ago[graph_core] Implement input_list, output_list for multi input, output
hyeonseok lee [Fri, 25 Jun 2021 06:39:53 +0000 (15:39 +0900)]
[graph_core] Implement input_list, output_list for multi input, output

- Make input_list, output_list and its getter to support multi input, output

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
3 years ago[layer] Update dropout layer to V2
Parichay Kapoor [Wed, 21 Jul 2021 07:47:32 +0000 (16:47 +0900)]
[layer] Update dropout layer to V2

Update dropout layer to V2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[coverity] Fixes realtd to coverity
Parichay Kapoor [Wed, 21 Jul 2021 03:18:46 +0000 (12:18 +0900)]
[coverity] Fixes realtd to coverity

Add fixes related to coverity.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[svace] Fix svace issues
Parichay Kapoor [Tue, 20 Jul 2021 11:15:50 +0000 (20:15 +0900)]
[svace] Fix svace issues

Fix svace issues for layer_v2 branch

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer_v2] Merge commit for branch layer_v2
Parichay Kapoor [Tue, 20 Jul 2021 09:51:19 +0000 (18:51 +0900)]
[layer_v2] Merge commit for branch layer_v2

This commit forms the merge commit including minor updates
while rebase layer_v2 with main branch so as to apply it.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[LayerV1] Delete for LayerV1
Parichay Kapoor [Thu, 15 Jul 2021 02:05:59 +0000 (11:05 +0900)]
[LayerV1] Delete for LayerV1

This patch deletes LayerV1 headers and its implementations.
Some of the relevant codes from LayerV1 are moved to either LayerNode or
to LayerDevel.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layernode] Add print functionality to LayerNode
Parichay Kapoor [Wed, 14 Jul 2021 12:48:44 +0000 (21:48 +0900)]
[layernode] Add print functionality to LayerNode

Add print functionality from LayerV1 to LayerNode.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Update NNStreamer layer to V2
Parichay Kapoor [Wed, 14 Jul 2021 12:10:50 +0000 (21:10 +0900)]
[layer] Update NNStreamer layer to V2

Update NNStreamer layer to V2 design.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Enable permute layer for V2
Parichay Kapoor [Wed, 14 Jul 2021 12:03:22 +0000 (21:03 +0900)]
[layer] Enable permute layer for V2

Enable permute layer for V2 design.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[unittest] Enable backbone unittests
Parichay Kapoor [Wed, 14 Jul 2021 11:33:17 +0000 (20:33 +0900)]
[unittest] Enable backbone unittests

Enable backbone unittests for modelfile

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Enable time dist layer for V2
Parichay Kapoor [Wed, 14 Jul 2021 10:49:50 +0000 (19:49 +0900)]
[layer] Enable time dist layer for V2

Enable time dist layer for LayerV2 design.
This patch tries to simulate the InitContext and the RunContext inside
the time dist layer so that proper shapes of variables can be passed to
the internal layer. Further, context changing function calls are
replicated on the actual InitContext/RunContext by detecting changes and
making those function calls again.

LayerNode was updated to ensure that a layer is not getting distributed
again and again.
Some more getter APIs were added for TensorDim and LayerContext.

Unittests related to distribute have also been enabled with this patch.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layernode] Remove LayerNode dependence on LayerV1
Parichay Kapoor [Wed, 14 Jul 2021 08:46:55 +0000 (17:46 +0900)]
[layernode] Remove LayerNode dependence on LayerV1

Remove LayerNode dependence on LayerV1.
Further, NetworkGraph dependence on LayerV1 is also removed.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[weight] Add missing initialization in constructor
Parichay Kapoor [Wed, 14 Jul 2021 08:46:00 +0000 (17:46 +0900)]
[weight] Add missing initialization in constructor

Add missing initialization in constructor for the weight class.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Initialize missing variables for LayerImpl
Parichay Kapoor [Wed, 14 Jul 2021 08:45:11 +0000 (17:45 +0900)]
[layer] Initialize missing variables for LayerImpl

Add initialization for the missing variables for LayerImpl class.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[application] Add common tests for simpleshot layers
Parichay Kapoor [Tue, 13 Jul 2021 10:18:13 +0000 (19:18 +0900)]
[application] Add common tests for simpleshot layers

Add common standalone tests for simpleshot layers tests.
This allows basic testing semantics test for simpleshot layers.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[application] SimpleShot application update for V2
Parichay Kapoor [Mon, 12 Jul 2021 09:21:17 +0000 (18:21 +0900)]
[application] SimpleShot application update for V2

SimpleShot application update for layer V2 design.
Further, task_runner has been updated to use only 1 loss kind of layer.

Unittests of layers have not been enabled, they will be enabled with unittest_layers.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[application] Update centroid KNN layer for V2
Parichay Kapoor [Mon, 12 Jul 2021 09:20:47 +0000 (18:20 +0900)]
[application] Update centroid KNN layer for V2

Update centroid knn layer for V2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[application] Update l2norm layer for V2
Parichay Kapoor [Mon, 12 Jul 2021 09:20:06 +0000 (18:20 +0900)]
[application] Update l2norm layer for V2

Update l2norm layer for V2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[application] Update centering layer for V2
Parichay Kapoor [Mon, 12 Jul 2021 09:19:41 +0000 (18:19 +0900)]
[application] Update centering layer for V2

Update centering layer for V2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[test] Added common unittest for custom layers
Parichay Kapoor [Tue, 13 Jul 2021 09:51:48 +0000 (18:51 +0900)]
[test] Added common unittest for custom layers

This patch add common unittests for custom layers.
This demonstrates how layer developers can use the unittests made by
nntrainer developers to test their own layers.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[application] Enable custom application
Parichay Kapoor [Mon, 12 Jul 2021 07:27:05 +0000 (16:27 +0900)]
[application] Enable custom application

Enable custom application for v2 layer design.
This also includes updating the power layer and mae loss layer implementation
with layerv2 and updating their corresponding unittests.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update plugged layer for V2 design
Parichay Kapoor [Mon, 12 Jul 2021 07:26:15 +0000 (16:26 +0900)]
[layer] Update plugged layer for V2 design

Update plugged layer for V2 design.
The corresponding updates in app_context have also been made.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[application] Enable draw classification app
Parichay Kapoor [Mon, 12 Jul 2021 03:04:15 +0000 (12:04 +0900)]
[application] Enable draw classification app

Enable draw classification application.
Corresponding bug fixes are also added.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Enable tflite layer for V2
Parichay Kapoor [Mon, 12 Jul 2021 03:03:34 +0000 (12:03 +0900)]
[layer] Enable tflite layer for V2

This patch enables tflite layer for V2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Remove extra property from embedding
Parichay Kapoor [Sun, 11 Jul 2021 19:15:12 +0000 (04:15 +0900)]
[layer] Remove extra property from embedding

Remove extra property "in_length" from embedding layer.
in_length was used to set and provide the number of inputs to be
provided to the embedding layer. However, this must be fixed
based on the input provided from the previous layer.
This patch removes this property and let this value be inferred
from the given input dimensions.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[applications] Enable working applications with v2
Parichay Kapoor [Sun, 11 Jul 2021 19:05:48 +0000 (04:05 +0900)]
[applications] Enable working applications with v2

Enable working applications with v2.
Adding some minor updates to the applications to match with the v2 implementation.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update concat layer to V2
Parichay Kapoor [Sun, 11 Jul 2021 19:03:58 +0000 (04:03 +0900)]
[layer] Update concat layer to V2

Update concat layer to V2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update embedding for layerv2
Parichay Kapoor [Sun, 11 Jul 2021 18:44:29 +0000 (03:44 +0900)]
[layer] Update embedding for layerv2

Update embedding layer for layerv2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Enable split layer for V2 design
Parichay Kapoor [Sun, 11 Jul 2021 18:21:29 +0000 (03:21 +0900)]
[layer] Enable split layer for V2 design

Enable split layer for v2 design.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update preprocess layers for layerV2
Parichay Kapoor [Sun, 11 Jul 2021 14:05:34 +0000 (23:05 +0900)]
[layer] Update preprocess layers for layerV2

Update preprocess layers for layerv2 design.
Enable corresponding unittests.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update GRU for layer_v2
Parichay Kapoor [Sun, 11 Jul 2021 13:43:48 +0000 (22:43 +0900)]
[layer] Update GRU for layer_v2

Update GRU implementation using layer_v2 design.
Update and enable corresponding unittests.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update LSTM to request temporary tensors
Parichay Kapoor [Sun, 11 Jul 2021 13:12:56 +0000 (22:12 +0900)]
[layer] Update LSTM to request temporary tensors

Update LSTM implementation to reduce the use of temporary tensors
and request temporary tensors for the ones that are necessary.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update LSTM for layer_v2
Parichay Kapoor [Sun, 11 Jul 2021 12:54:42 +0000 (21:54 +0900)]
[layer] Update LSTM for layer_v2

Update LSTM for layer_v2.
Also enable corresonding unittests and add common unittests.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[rnn] Cleanup RNN implementation
Parichay Kapoor [Thu, 8 Jul 2021 07:26:04 +0000 (16:26 +0900)]
[rnn] Cleanup RNN implementation

Cleanup RNN implementation.
Reduce usage of temporary allocated memory and reuse existing memory as much as possible.
Further, request hidden state memory from context than creating by self.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[layer] Update RNN to layerv2
Parichay Kapoor [Thu, 8 Jul 2021 06:50:33 +0000 (15:50 +0900)]
[layer] Update RNN to layerv2

Update RNN to layerv2 design.
Corresponding unittests have been added and enabled.

Signed-off-by: Parichay Kapoor <kparichay@gmail.com>
3 years ago[tests] Add more layer common unittests
Parichay Kapoor [Wed, 7 Jul 2021 13:03:51 +0000 (22:03 +0900)]
[tests] Add more layer common unittests

Add more layer common unittests without involving runContext for the
layers.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[unittest] Enable graph unittests
Parichay Kapoor [Wed, 7 Jul 2021 11:20:34 +0000 (20:20 +0900)]
[unittest] Enable graph unittests

Enable graph unittests which creates resnet like model for testing.
Enable correspoding resnet like add in models unittest.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Update multiout layer for V2
Parichay Kapoor [Wed, 7 Jul 2021 11:15:58 +0000 (20:15 +0900)]
[layer] Update multiout layer for V2

Update multiout layer for V2 design.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Update addition layer to V2
Parichay Kapoor [Wed, 7 Jul 2021 10:31:10 +0000 (19:31 +0900)]
[layer] Update addition layer to V2

Update addition layer for V2 design.
Add corresponding unittests.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[layer] Remove num_inputs/num_outputs properties
Parichay Kapoor [Wed, 7 Jul 2021 06:55:21 +0000 (15:55 +0900)]
[layer] Remove num_inputs/num_outputs properties

Remove num_inputs and num_outputs layer properties.
The properties were being set with addition, concat and multioutput
layers. However, their usage had been deprecated as this information was
being extracted by the input_layers connections.

This patch removes these properties.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[test] Add semantic tests for activation layer
Parichay Kapoor [Wed, 7 Jul 2021 06:10:31 +0000 (15:10 +0900)]
[test] Add semantic tests for activation layer

Add semantic tests for activation layer

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
3 years ago[test/models] Add golden tests for loss layer
Parichay Kapoor [Wed, 7 Jul 2021 02:56:31 +0000 (11:56 +0900)]
[test/models] Add golden tests for loss layer

Add golden tests for loss layer added as a layer.
This patch modified the existing models test architecture to be
described where layer is added externally.

More will be added ones more models tests are enabled.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>