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>
Jihoon Lee [Tue, 10 Aug 2021 10:56:15 +0000 (19:56 +0900)]
[Dataset] Rework func dataset to samplewise
**Changes proposed in this PR:**
- Fix bugs in Tensor::Map
- Add shortcut for the Tensor::updateBatch
- Add func_data_producer with sample
**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 [Mon, 23 Aug 2021 06:02:25 +0000 (15:02 +0900)]
[unittest] backbone property name update
Update backbone property name for the layers unittests.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Wed, 18 Aug 2021 08:35:34 +0000 (17:35 +0900)]
[CAPI] Open centroid KNN
**Changes proposed in this PR:**
- Move centroid KNN to layer, delete centroid knn from the Application
**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>
Parichay Kapoor [Tue, 10 Aug 2021 12:59:40 +0000 (21:59 +0900)]
[memorypool] Introducing memory pool
This patch introduces memory pool for tensors. All the tensors requiring
memory can ask memory pool for their memory. The memory pool collects
all the requirements, uses the provided memory planner to plan a memory
layout, allocates the required memory, and then finally returns the
allocated memory to the requesters.
There are certain limitations to this memory pool:
1. All the memory must be requested before layout planning and
allocation.
2. There is no support for freeing selectively allocated tensors
3. In order to request support for more tensors and their memories,
all previously allocated memory has to be freed.
4. MemoryPool for now allocates all its required memory in a single
block. Support for breaking the required memory into smaller blocks is
left a TODO for later (this can be useful for devices without IOMMU).
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 10 Aug 2021 12:57:56 +0000 (21:57 +0900)]
[memoryplanner] Introducing memory planner
This patch introduces memory planner interface which will provide a
layout plan given the various memories required by the model.
Different memory allocations plans/strategies will be implemented by
extending this class with the given interface.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Tue, 10 Aug 2021 10:57:47 +0000 (19:57 +0900)]
[manager] Weight/gradient allocation simplify
Simplify weight and gradient allocation out to the most basic strategy
so that the memory optimization can be applied on it.
With this patch, the memory for gradient is not shared anymore till the
memory optimization is implemented.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Tue, 10 Aug 2021 05:46:18 +0000 (14:46 +0900)]
[Dataset] Implement samplewise for file
**Changes proposed in this PR:**
- implements samplewise size(), finalize() for file
- add corresponding 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 [Thu, 19 Aug 2021 08:43:55 +0000 (17:43 +0900)]
[CAPI] Update description of ml_train_datagen_cb
This patch updates ml_train_datagen_cb with newly added api sets and
clarify the parameter @a last means.
**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 02:28:44 +0000 (11:28 +0900)]
[CAPI] Reflect feature review
This patch reflects feature review.
**Changes Proposed**
- Adding Not Supported enum
**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 07:32:26 +0000 (16:32 +0900)]
[Backbone/CAPI] Implement backbone layer creation
**Changes proposed in this PR:**
- Connect enum to nnstreamer backbone
- Change `model_file` property to `model_path` for generality
- Add handling for when model_file property is loaded from interpretation
Resolves #1072
**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 [Mon, 9 Aug 2021 10:05:14 +0000 (19:05 +0900)]
[Dataset] Implement samplewise producer for random
This patch implements samplewise producer for random and its
corresponding test abstraction
**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 02:24:11 +0000 (11:24 +0900)]
[Trivial] layer client test was not running
This patch changes test variable argument in order for layer client
tests to run
**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 [Tue, 10 Aug 2021 10:21:27 +0000 (19:21 +0900)]
[context/graph] Catch lifespan + 3-way execution order
This patch adds the setup to catch lifespan set by the layer developer
when requesting for tensors.
Further, the execution order now consists of 3 values - fowarding,
calcGradient and calcDerivative. The memory optimization will now be
done using the 3 functions to be called in order.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 11:03:04 +0000 (20:03 +0900)]
[manager] Set the default usage timestamp for tensors
Set default usage time index for all the tensors based on when the layer
is to be run in the sorted list.
The usage time indexes are stored in each GraphNode by the GraphCore.
When creating the sorted list, each layer is updated to store its
order location/index when executed in this sequence for forwarding as
well as backwarding.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 10:37:27 +0000 (19:37 +0900)]
[layers] Make requested weight/tensor names unique
Update the layers to make the requested weights and tensors names to be
unique. This done using the layer name with the postfix of the
weights/tensors name making the combination unqiue as layer name is
unique.
InitLayerContext is updated to provide access to the layer name while
finalizing the layer.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 05:08:31 +0000 (14:08 +0900)]
[graph/neuralnet] Move manager from neuralnet to netgraph
Move manager from NeuralNetwork class to NetworkGraph class.
Some corresponding minor adjustments are also added.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Mon, 9 Aug 2021 08:09:50 +0000 (17:09 +0900)]
[Dataset] Add interface for samplewise producer
This patch adds interface to migrate batchwise producer to samplewise
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 [Thu, 15 Jul 2021 10:14:22 +0000 (19:14 +0900)]
[Dataset] Add user_data set Property handler
**Changes proposed in this PR:**
- PtrType properties
- Add user_data set property handler for backward competibility
**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, 6 Aug 2021 08:33:13 +0000 (17:33 +0900)]
[CAPI] Reflect privilege reviews
This patch update document to add privilege to `ml_train_model_save()`
and `ml_train_model_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>
hyeonseok lee [Tue, 17 Aug 2021 11:20:51 +0000 (20:20 +0900)]
[fix] ahub issues
- Added try catch statement
- Check value to avoid divide by zero
- Added const keyword to match override function
- Initialize member variable in constructor
Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 05:08:31 +0000 (14:08 +0900)]
[graph/neuralnet] Move manager from neuralnet to netgraph
Move manager from NeuralNetwork class to NetworkGraph class.
Some corresponding minor adjustments are also added.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 03:54:13 +0000 (12:54 +0900)]
[graph] Update check for input node
Update the check for checking if a given node is input node.
The check uses in-degree for the node to be 0.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 03:46:41 +0000 (12:46 +0900)]
[graphnode] Remove index from graph node
Currently each graph node has two identifiers - name and idx - where
both were unique. This patch removes the idx as the indentifier.
The corresponding functions are also removed.
In order to support fast fetching of nodes, graphcore has a map nodes.
This change revealed a bug with the names in the code. As ini does not
allow case sensitive names, the names from the ini are changed to lower
case. However, input_layers property names were allowed to be
case-sensitive. Further names set by the API were also case sensitive.
This patch forces all such names to be case-insensitive to lowercase.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Parichay Kapoor [Wed, 4 Aug 2021 02:07:31 +0000 (11:07 +0900)]
[graph] Remove layerv1 initialize code
Remove layerv2 initialize code for network graph.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jihoon Lee [Fri, 13 Aug 2021 02:37:58 +0000 (11:37 +0900)]
[CAPI] Assign values to the enum
This patch assigns values to enums in nntrainer-api-common.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 [Fri, 6 Aug 2021 08:33:13 +0000 (17:33 +0900)]
[CAPI] Update regarding the review script
This patch updates nntrainer.h header with regard to the review script
- @a -> @c
- merge conflict with usage / mode
**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, 15 Jul 2021 07:50:58 +0000 (16:50 +0900)]
[Trivial] dataset usage enum rename
This patch renames enumeration as discussed ahead of time
**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, 6 Aug 2021 08:54:48 +0000 (17:54 +0900)]
[CAPI] Add permission denied return value
As privilege is sometimes needed by dataset, add permission denied for
`ml_train_dataset_add_file()` and `ml_train_model_construct()`
**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, 6 Aug 2021 07:43:49 +0000 (16:43 +0900)]
[CAPI] Change privilege to remark
This patch change privilege to remark as recommended
**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, 5 Aug 2021 03:55:33 +0000 (12:55 +0900)]
[CAPI] Add privilege to documentation
This patch adds privilege to documentation as guided
**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, 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>