Parichay Kapoor [Mon, 23 Aug 2021 10:33:59 +0000 (19:33 +0900)]
[layers] bugfix for layers
This patch adds bugfixes for layers:
1. acti_func in-place support bug
2. batch normalization layer weight name bug
3. loss layers not using tensor reference bug
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Thu, 23 Sep 2021 07:19:07 +0000 (16:19 +0900)]
[Test] Update layer golden test format
**Changes proposed in this PR:**
- Add initial_weight to the layer golden data
- Add layer::build() point to the translayer
- Properly call layer instead of __call__ in translayer
- Run formatter(black)
**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>
Parichay Kapoor [Fri, 20 Aug 2021 11:10:55 +0000 (20:10 +0900)]
[TensorPool] Added tensor pool implementation
Added tensor pool implementation with unittests.
Tensorpool provides the interface where all the requested tensors are
managed at one places ensuring the uniqueness of name with their
lifespan and execution orders.
Corresponding unittests checking the working is added.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 20 Aug 2021 07:40:16 +0000 (16:40 +0900)]
[tensorpool] Introducing TensorPool
This patch introduces TensorPool which manages the list of all the
tensors with their execution orders and lifespan.
The conversion of lifespan and execution orders to the validity will be
done by the TensorPool.
TensorPool forms the middle ground between memory pool and manager for
easier maintainance.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 17 Aug 2021 04:06:30 +0000 (13:06 +0900)]
[manager] Use memory pool for weights
This patch updates the use of memory pool for the weights of the model.
Correspondingly a pool object is added to the manager.
The pool is allocated in the weights allocation.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Fri, 17 Sep 2021 04:29:04 +0000 (13:29 +0900)]
[Profiler] Enable profiler with fine grained profile
This patch enables profiler with layer profiling.
**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>
Parichay Kapoor [Fri, 13 Aug 2021 06:03:10 +0000 (15:03 +0900)]
[manager] Constraint input and ouput tensor sharing
Add the constraint of the output tensors of a node with the input
tensors of the next nodes. This allows memory pool to understand the
manager that these two inputs/outputs must use the same tensor and
enables tensor sharing.
This is acheieved by requesting already creating tensors with the given
name.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 13 Aug 2021 05:01:49 +0000 (14:01 +0900)]
[manager] Create lifetime and usage list by tensors
Create a lifetime and usage list for all the tensors which have been
requested by the manager in the form of weights/inputs/outputs/trainable
tensors.
A tensor name based map is used as each tensor has the name identifier.
Further, the restriction of the name to be unique is added for the
tensors which are requested by the manager.
TensorLifespan enum values are updated to be of the form of bit wise
enabling. This allows checking and upgrading lifespan of an existing
tensor.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 12 Aug 2021 10:57:34 +0000 (19:57 +0900)]
[VarGrad] Cleanup for VarGrad
This patch cleansup VarGrad implementation, and ends up removing all its
members except the variable and gradient tensors (fitting exactly to its
description).
Resolves #1486
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 12 Aug 2021 10:40:08 +0000 (19:40 +0900)]
[tensor] Add name identifier to Tensor
Move name as an identifier to the tensor.
This name has been mvoed from the Var_Grad object.
Var_Grad now does not contain name itself.
The semantics of name for Tensor currently follows from var-grad:
- empty name is allowed
- repititive names are allowed
Restrictions can and will be added over time.
Resolves #1485
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 12 Aug 2021 08:44:53 +0000 (17:44 +0900)]
[manager] Flatten tensors list
Flatten the tensors (weights/inputs/outputs/tensors) list stored in the
manager. It was of the form vector<vector<>> to club the tensors
requested from a layer together. However, this is neither required now
nor is it sufficient. If required later, a mapping from node will be
created.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 11 Aug 2021 09:09:17 +0000 (18:09 +0900)]
[memorypool/test] Unittests for memory pool
This patch adds unittests for memory pool for its public APIs.
Further, memory validation is added for the requested memories and
those tests will be added for each planner. This ensures that the
memories returned by each planner do not overlap, and remain valid while
usage.
Fixes corresponding to the unittests are also added.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 11 Aug 2021 05:59:00 +0000 (14:59 +0900)]
[memoryPool] Implementation for memory pool
This patch provides implementation for memory pool which uses a memory
planner to plan the layout of the memory and provides efficiency of the
given planner.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
jijoong.moon [Fri, 24 Sep 2021 04:51:33 +0000 (13:51 +0900)]
[ Release ] NNTrainer 0.3.0 Release
NNTrainer v0.3.0 is released.
**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>
Parichay Kapoor [Fri, 17 Sep 2021 04:56:11 +0000 (13:56 +0900)]
[resnet/test] Add resnet test for models unittest
This patch adds resnet models unittest for resnet18.
The verification has been done offline for 2 iterations for the output
of all layers with precision of 1.1e-4.
Derivaitves and gradients have higher error because of relu: when some
value is close to 0, it can be positive or negative with some error (of
the order of e-7). Although this error is way within the error limit.
however, this exacerbates the error in backwarding where derivatives (which
are significant in values) can flow if the relu value was over 0, and
not flow if under zero. This is manageable in smaller models but
difficult to avoid in unittests for larger models.
Other bug fixes in this patch:
- max error reported by unittest_nntrainer_models has been fixed
- error reporting now includes layer type as well
- ModelTestOption MINIMUM has been renamed to NO_THROW_RUN
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 17 Sep 2021 04:54:47 +0000 (13:54 +0900)]
[resnet/test] Add resnet unittest model generation
This patch adds resnet18 unittest model generation with genModelTests.
Further, the input data range is changed from 0 to x from -x to x as
relu based models work better with 0 to x data range to prevent loss of
information.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 23 Sep 2021 02:09:59 +0000 (11:09 +0900)]
[resnet] Add test to resnet application
This patch adds test check on the training of the resnet application.
This test can be enabled with enable-long-test and enable-test.
Resolves #1533
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 17 Sep 2021 04:27:26 +0000 (13:27 +0900)]
[tensor] Reduce num of operations for tensor sum
This patch reduces the number of operations required for tensor sum by
accumulating the consecutive axes in order to increase the precision of
the operation.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 17 Sep 2021 04:05:57 +0000 (13:05 +0900)]
[application] Update resnet to match tensorflow
Update resnet application to match tensorflow implementation.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Mon, 13 Sep 2021 07:36:39 +0000 (16:36 +0900)]
[application] Add resnet18 tensorflow version
Add resnet18 tensorflow version to match against nntrainer.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Thu, 9 Sep 2021 10:26:07 +0000 (19:26 +0900)]
[TEST/fc] Add layer golden test
This patch adds layer golden test format
**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>
Jihoon Lee [Thu, 9 Sep 2021 10:14:55 +0000 (19:14 +0900)]
[Test] Prepare layer golden test data
This patch prepares code to generate binary and package two tests for
example
**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>
Parichay Kapoor [Fri, 17 Sep 2021 05:07:38 +0000 (14:07 +0900)]
[gitignore] Update gitignore
Update gitignore to ignore the following files:
- data files for applications
- log files
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Thu, 16 Sep 2021 10:48:34 +0000 (19:48 +0900)]
[unittest/models] Fix matching for models unittest
This patch fixes the matching for the last layer of each model for the
unittest of the models.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Fri, 17 Sep 2021 04:28:36 +0000 (13:28 +0900)]
[layer] Bug fixes for layers
This patch adds bug fixes for layers:
- bn layer support in-place is corrected.
- flatten layer support in-place is corrected.
- pooling layer padding related corrections.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Wed, 15 Sep 2021 11:52:01 +0000 (20:52 +0900)]
[Fix] Svace issue and minor bugs
**Changes proposed in this PR:**
- implement save_ini_with_bin format
- delete noexcept specifier in node exporter
- ini interpreter skips newly reserved sections
- Add member initializer in TfOpNode
- fix unused warning in padding for under gcc 9
**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>
Jihoon Lee [Wed, 15 Sep 2021 10:01:17 +0000 (19:01 +0900)]
[tcm] Fix tcm criticals
This patch fixes tcm no assertion error while disabling actual no
asserting tc
**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>
Jihoon Lee [Mon, 13 Sep 2021 04:48:10 +0000 (13:48 +0900)]
[Interpreter] Enable tests
Interpreter test was not running, this patch enables interpreter tests
**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>
[Fix] Enable tflite saver
This patch reflects changes occured from layer_v2 patch
**Changes proposed in this PR:**
- tflite interpreter save is now proper test
- tflite interpreter now uses tensor * instead of var grad
- majorly updated how to create tf_opnode
**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>
hyeonseok lee [Wed, 15 Sep 2021 04:15:27 +0000 (13:15 +0900)]
[util] Remove parse_util.h
- Deleted parse_util.h, parse_util.cpp
- Move functions in props_util.h to util_func.h and deleted props_util.h
- Remove unused function in util_func
Self evaluation:
Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
Jihoon Lee [Wed, 15 Sep 2021 01:54:54 +0000 (10:54 +0900)]
[Conv2d] Conv2d Padding Fix
This patch resolves conv2d calculation is crooked in some cases
**Changes proposed in this PR:**
- Conv2d Fix
- Padding::Compute Fix
- Pooling2d Fix
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Co-authored-by: Parichay Kapoor <pk.kapoor@samsung.com>
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Jihoon Lee [Wed, 15 Sep 2021 07:29:34 +0000 (16:29 +0900)]
[Fix] upstream build fail
This patch fixes upstream build fail from overlapping test suite name
**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>
hyeonseok lee [Tue, 14 Sep 2021 07:03:41 +0000 (16:03 +0900)]
[unittest] Enable model_test_save_load_compare unittest to ALL
- Except addition_resnet_like, multiple_output_model which contain
multiout layer cause cannot assure the order of layer
**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>
hyeonseok lee [Tue, 14 Sep 2021 06:49:16 +0000 (15:49 +0900)]
[ahub] Init uninit member variable
- Initialize uninit member variable
**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>
hyeonseok lee [Tue, 14 Sep 2021 03:21:45 +0000 (12:21 +0900)]
[layer] bugfix in set acti_func of rnn, lstm, gru
- Set acti_func, recurrent_acti_func in finalize
**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>
Jihoon Lee [Tue, 14 Sep 2021 08:00:04 +0000 (17:00 +0900)]
Enable Saving props by delimiter '|'
This patch enables saving properties by delimiter '|'
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Cc: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Jihoon Lee [Tue, 14 Sep 2021 06:03:45 +0000 (15:03 +0900)]
[test/layers] enable tests when only available
This patch enables tests when only available. for example,
unittest_layers_nnstreamer.cpp cannot be run on tizen so excluded.
**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>
Jihoon Lee [Mon, 13 Sep 2021 05:27:41 +0000 (14:27 +0900)]
[gbs fix] Enable test not running with main lib
**Changes proposed in this PR:**
- Enable test not running with main lib
- Enable memory test
- Enable fix for the props checking bug
**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>
Jihoon Lee [Fri, 10 Sep 2021 04:58:10 +0000 (13:58 +0900)]
[Fix] Fix semantic tests were not running
This patch fixes semantic tests were not running
**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>
Jihoon Lee [Thu, 9 Sep 2021 12:51:40 +0000 (21:51 +0900)]
[Spec] Exclude generated coverage items
This patch excludes generated coverage items from daily coverage report
**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>
hyeonseok lee [Mon, 13 Sep 2021 06:52:27 +0000 (15:52 +0900)]
[LayerImpl] Maintain LayerImpl property with props
- All the layerImpl property will be maintain with props
**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>
hyeonseok lee [Tue, 7 Sep 2021 07:44:27 +0000 (16:44 +0900)]
[layer] clean up parse_util header
- parse_util header is no longer needed cause setProperty function is deleted
so clean up header
**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>
hyeonseok lee [Thu, 9 Sep 2021 23:55:40 +0000 (08:55 +0900)]
[bn layer] Maintain bn layer property with props
- All the property will be maintain with props
**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>
hyeonseok lee [Thu, 9 Sep 2021 14:11:06 +0000 (23:11 +0900)]
[rnn lstm gru layer] Maintain rnn, lstm, gru layer property with props
- All rnn, lstm, gru layer property will be maintain with props
- Allow dropout to zero
**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>
hyeonseok lee [Thu, 9 Sep 2021 06:15:49 +0000 (15:15 +0900)]
[pooling2d layer] Maintain pooling2d layer property with props
- All pooling2d layer property will be maintain with props
**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>
hyeonseok lee [Wed, 8 Sep 2021 03:46:07 +0000 (12:46 +0900)]
[preprocess flip layer] Maintain layer property with props
- All the preprocess flip layer property will be maintain with props
- Remove default flip direction value which was horizontal_and_vertical
**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>
hyeonseok lee [Tue, 7 Sep 2021 06:32:11 +0000 (15:32 +0900)]
[conv layer] Maintain conv layer property with props
- All the conv layer property will be maintain with props
**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>
hyeonseok lee [Tue, 7 Sep 2021 03:43:08 +0000 (12:43 +0900)]
[preprocess translate layer] Maintain layer property with props
- All the preprocess translate layer property will be maintain with props
**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>
hyeonseok lee [Mon, 6 Sep 2021 08:26:53 +0000 (17:26 +0900)]
[split layer] Maintain split layer property with props
- All the property of split layer will be maintain with props
**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>
hyeonseok lee [Mon, 6 Sep 2021 08:13:01 +0000 (17:13 +0900)]
[embedding layer] Maintain embedding layer property with props
- All the property of embedding layer will be maintain with props
**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>
hyeonseok lee [Mon, 6 Sep 2021 05:20:14 +0000 (14:20 +0900)]
[input layer] Maintain input layer property with props
- All the property of input layer will be maintain with props
- Remove unused setProperty function of tflite_layer
**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>
Jihoon Lee [Wed, 8 Sep 2021 10:49:54 +0000 (19:49 +0900)]
[Test] Add save load test
Add save load test while adding options to model test
**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>
Jihoon Lee [Tue, 7 Sep 2021 12:14:57 +0000 (21:14 +0900)]
[ini] Implement dataset save/loader
This patch implements dataset saver/loader.
This patch propose sections "train_set", "valid_set", "test_set". Just
like optimizer.
**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>
Jihoon Lee [Tue, 7 Sep 2021 09:51:14 +0000 (18:51 +0900)]
[Props] Implement activation property
This patch implements activation property by enum
**Additional changes**
- TimeDistribute property is now handled at finalize()
**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>
Jihoon Lee [Thu, 9 Sep 2021 04:14:05 +0000 (13:14 +0900)]
[Bug] Fix support inplace for distribute Layer
This patch fixes support inplace for distirbute layer
**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>
Parichay Kapoor [Wed, 8 Sep 2021 11:14:43 +0000 (20:14 +0900)]
[bnlayer] Batch norm layer bug fix
This patch provides bug fix to the initialization of the batch norm
values.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 8 Sep 2021 11:06:53 +0000 (20:06 +0900)]
[neuralnet] Fix validation reporting
Fix validation values reporting.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 8 Sep 2021 04:47:46 +0000 (13:47 +0900)]
[resnet] Fix data loader for resnet application
This patch fixes the data loader for resnet application after the
dataset loader has been changed to load data element by element than the
whole batch.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 8 Sep 2021 04:47:17 +0000 (13:47 +0900)]
[batchnorm] Bug fix for batch norm layer
Bug fix for requested variable for batch norm layer.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Tue, 7 Sep 2021 06:21:39 +0000 (15:21 +0900)]
[props] Support enum properties
This patch aims to support enum based properties, please refer to the
test to see how it works.
**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>
Jihoon Lee [Tue, 7 Sep 2021 03:54:26 +0000 (12:54 +0900)]
[Ini Save] input shape property
This patch includes input shape property generation
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Jihoon Lee [Mon, 6 Sep 2021 08:49:02 +0000 (17:49 +0900)]
[LayerNode] Change context to be RAII
This patch refactors context to be RAII to make layer node properties
dumb.
**Changes**
- init context is removed
- layer node instead created and returned from layerNode::finalize(input_dims)
- remove dependency to input dimension before initialize
- layerNode now has input_shapes instead of setting directly from initContext
- runcontext is used to query things
- fix multiple bugs regarding the validity of layer node
- networkGraph::updateRunContext() -> finalizeContext() now
finalizes inside this function for brevity
- layerNode::updateRunContext() -> configureContext() to make it RAIIer.
- minor code cleans in networkGraph::initialize
**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>
Jihoon Lee [Tue, 7 Sep 2021 12:26:05 +0000 (21:26 +0900)]
[model] implement save best acc logic
This patch implements saving best accuracy when training
**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>
Jihoon Lee [Mon, 6 Sep 2021 06:27:16 +0000 (15:27 +0900)]
[ini] Implement input layers property
This patch implements input layers property while decoupling input
dimensions from input layers as much as possible
to make the property dumb.
**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>
Jihoon Lee [Wed, 1 Sep 2021 06:24:15 +0000 (15:24 +0900)]
[ini/save] Save Optimizer Section
This patch saves optimizer section to ini.
**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>
Jihoon Lee [Wed, 1 Sep 2021 06:11:34 +0000 (15:11 +0900)]
[Optimizer] Refactor to use props
This patch refactors optimizer families to use properties while removing
some unused functions and constructors
**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>
Jihoon Lee [Wed, 1 Sep 2021 04:27:39 +0000 (13:27 +0900)]
[IniWrapper] Add factory method
This patch adds a function to create ini section directly from
exportable which implements .exportTo to reduce overlapping codes
**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>
Jihoon Lee [Mon, 6 Sep 2021 13:24:50 +0000 (22:24 +0900)]
[Trivial] Fix gcc warning (sign compare)
This patch fixes gcc warning of sign compare from tests
**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>
Jihoon Lee [Sat, 28 Aug 2021 05:41:38 +0000 (14:41 +0900)]
[ini] Implement model save
This patch implements model section save in ini format
**Side Changes proposed in this PR:**
- Move `THROW_STATUS` and `RETURN_STATUS` to util_func.h
**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>
Jihoon Lee [Sat, 28 Aug 2021 04:52:32 +0000 (13:52 +0900)]
[ini] Migrate to properties for model
This patch migrate to properties for neuralnet
**Semantic Changes**
- NeuralNetwork::batch_size does not change when actual batchsize change
from neuralnetwork instead, model graph keeps batch size separately.
**Changes proposed in this PR:**
- Move members to props in model
- Move inline declaration to declaration for some functions
- Remove unused member/functions from parse_util / neuralnet
**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>
Jihoon Lee [Sat, 28 Aug 2021 03:15:37 +0000 (12:15 +0900)]
[ini] Prepare model properties
This patch prepare model properties in `model_common_properties`
**Additional Changes proposed in this PR:**
- Add PositiveIntegerProperty base class
- Fix copy assignment/ctor in base_properties
**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>
Jihoon Lee [Sat, 28 Aug 2021 09:19:32 +0000 (18:19 +0900)]
[NeuralNet] Fix testset run
This patch fixes testset running while cleaning up the code to reuse
repeating logics with callback
**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>
Parichay Kapoor [Wed, 11 Aug 2021 05:55:21 +0000 (14:55 +0900)]
[test/planner] Unittests for memory planner
This patch adds unittests for the memory planner.
The unittests covers some of the extreme scenarios for memory planning
and ensures that the constraints are satisfied.
Note that these tests do not test the efficient of the planning but the
validity of the planned layout.
Corresponding bug fixes are also added.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 11 Aug 2021 01:34:26 +0000 (10:34 +0900)]
[planner] Support basic memory planner
This patch adds support for the basic memory planner.
The basic memory planner does not provide any memory sharing, and
results in all tensors being allocated in separate memories.
This forms the baseline for memory allocation.
Other memory planners will be enhancement over this.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Wed, 1 Sep 2021 04:46:59 +0000 (13:46 +0900)]
[Trivial] delete no meaningful save/load test
This patch delete no menaingful save/load test which was drawing
attention of static anaysis tool
**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>
Jihoon Lee [Fri, 27 Aug 2021 11:44:57 +0000 (20:44 +0900)]
[CAPI] Implement model save load
this patch implements model save load in capi.
**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>
Jihoon Lee [Fri, 27 Aug 2021 10:39:45 +0000 (19:39 +0900)]
[Dataset] Reflect final reviews
**Changes proposed in this PR:**
- rename request* / requestSlots()
- change raw_file_data_producer
**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>
Jihoon Lee [Fri, 20 Aug 2021 10:03:08 +0000 (19:03 +0900)]
[Cleanup] Cleanup unused parts from datasets
**Changes proposed in this PR:**
- batch_queue.[h|cpp] -> iteration_queue.[h|cpp]
- delete Class BatchcQueue
- delete Producer::finalize, Producer::size,
databuffer::startFetchWorker, databuffer::fetch and following patch
- delete DataProducer::Iteration, DataProducer::Sample as we have
dedicated classes instead.
- remove *_sample suffix. (eg) DataProducer::finalize_sample becomes
DataProducer::finalize)
**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>
Jihoon Lee [Fri, 20 Aug 2021 09:14:54 +0000 (18:14 +0900)]
[Dataset] Change and apply callback handler
This patch change and apply callback handler from batchwise ->
samplewise
**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>
Jihoon Lee [Fri, 20 Aug 2021 06:04:40 +0000 (15:04 +0900)]
[Dataset] DataBuffer Handling
This patch adds DataBuffer handling in case of the producer throws.
**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>
Jihoon Lee [Thu, 19 Aug 2021 12:02:53 +0000 (21:02 +0900)]
[dataset] Migrate file to dataset sample
This patch apply new dataset to file producer.
There was a test number changes.
reason:
1. Now, partial batch drop is determinisitic
2. Reshuffling is now called after partial batch is filled, (previously
it was before partial batch is filled)
Verified numbers without shuffling with
https://github.com/nnstreamer/nntrainer/pull/1416/files#r685695542
**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>
Jihoon Lee [Thu, 19 Aug 2021 04:58:46 +0000 (13:58 +0900)]
[Dataset] Implement databuffer getter
This patch implements databuffer getter and corresponding tests
**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>
Jihoon Lee [Wed, 18 Aug 2021 12:50:56 +0000 (21:50 +0900)]
[Dataset] Handle queue edge cases
Handle queue edge cases where ScopedView runs into an exception
**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>
Jihoon Lee [Wed, 18 Aug 2021 05:21:23 +0000 (14:21 +0900)]
[itq] Add multiple mt itq test
This patch adds multiple test based on scenarios
**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>
Jihoon Lee [Wed, 18 Aug 2021 05:20:40 +0000 (14:20 +0900)]
[Dataset] Add mt support to iteration Queue
This path adds async support to iteration queue and ending mechanism
**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>
Jihoon Lee [Wed, 18 Aug 2021 05:08:12 +0000 (14:08 +0900)]
[Dataset] Allow iteration to have partial batch
This patch updates the semantics of batch to have distance between
endsample iteration and beginsample iterator to emplace partial batch
semantics.
**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>
Jihoon Lee [Thu, 26 Aug 2021 08:24:20 +0000 (17:24 +0900)]
[Ini] change setProperty signature of model
This patch changes setProperty signautre of model to return void instead
of int
**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>
Jihoon Lee [Tue, 24 Aug 2021 12:48:53 +0000 (21:48 +0900)]
[Save] Prepare to save ini
This patch adds a skeleton to save into ini format
**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>
Jihoon Lee [Tue, 24 Aug 2021 10:47:37 +0000 (19:47 +0900)]
[CAPI] Add permission denied return
This patch add permission denied return when failed to read/write to a
file.
**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>
Jihoon Lee [Tue, 24 Aug 2021 08:05:10 +0000 (17:05 +0900)]
[CCAPI] Implement basic load save
This patch adds basic load save from CCAPI.
**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>
hyeonseok lee [Thu, 26 Aug 2021 06:14:38 +0000 (15:14 +0900)]
[layer_node] handle deprecated property
- Handle deprecated property num_inputs, weight_initialize, bias_initialize
**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>
Jihoon Lee [Thu, 12 Aug 2021 11:58:36 +0000 (20:58 +0900)]
[Dataset] Add iteration queue tests
**Changes proposed in this PR:**
- Add iteration queue tests within sync (async will be followed)
- Add `slots` and `batch` query method to batch_queue
- Fix some trivial issues like uninitialized variables
**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>
hyeonseok lee [Thu, 26 Aug 2021 07:25:37 +0000 (16:25 +0900)]
[raw_file_data_producer] handle divide by zero
- Check sample_size to avoid divide by zero
Self evaluation:
Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
Jihoon Lee [Thu, 12 Aug 2021 09:11:54 +0000 (18:11 +0900)]
[Dataset] Change generator_sample signature
This patch changes generator sample signature from std::vector<Tensor *>
to std::vector<Tensor>
**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>
Jihoon Lee [Mon, 23 Aug 2021 08:31:45 +0000 (17:31 +0900)]
[CAPI] Add enum for ini saving
This patch adds enum for ini save and load.
**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>
Jihoon Lee [Thu, 12 Aug 2021 07:35:24 +0000 (16:35 +0900)]
[Dataset] Prepare q for the samplewise iteration
This patch prepares queue (`IterationQueue` to avoid naming conflict)
for the samplewise data feeding.
**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>
Jihoon Lee [Wed, 11 Aug 2021 07:38:27 +0000 (16:38 +0900)]
[Dataset] Add Iteration Object
This patch adds a Iteration class and Sample class which allocate a tensor memory.
This object will be used in the queue.
**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>
Jihoon Lee [Wed, 18 Aug 2021 09:18:22 +0000 (18:18 +0900)]
[CAPI] Expose l2norm layer
**Changes proposed in this PR:**
- Change name of l2norm layer to PreprocessL2Norm Layer
- Move l2norm layer to the main code base
**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>
Jihoon Lee [Tue, 24 Aug 2021 07:31:52 +0000 (16:31 +0900)]
[tensor_filter] Fix tensorfilter fail
This patch fixes tensor filter fail due to two critical bugs
- readModel was broken
- tensor getSharedDataTensor was broken
**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>
hyeonseok lee [Wed, 25 Aug 2021 07:12:32 +0000 (16:12 +0900)]
[layer_node] bugfix/validate init_context
- Validate init_context before using the init_context in print function
- Reorder adding default layer object to appcontext based on LayerType enum
- Correct typo
**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>
Jihoon Lee [Wed, 11 Aug 2021 05:40:14 +0000 (14:40 +0900)]
[Dataset] Change finalize signature
This patch changes finalize signature to contain user_data,
user_data will be needed to replicate the current worker(with diffrent
arguments) in case of
MT_safty is not provided by the producer. Please note that this does not
change any current behavior but the preparation for the future
enhancements.
**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>