platform/core/ml/nnfw.git
6 years ago[nnc] Fix Caffe Concat operator import (#924)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 8 Aug 2018 13:23:36 +0000 (16:23 +0300)]
[nnc] Fix Caffe Concat operator import (#924)

Concat layer might not have a ConcatParameter section with it,
so it is only possible to recognize it by the name of the layer.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[nnc] Add doxygen configuration file (#914)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 8 Aug 2018 13:22:20 +0000 (16:22 +0300)]
[nnc] Add doxygen configuration file (#914)

This config is set to:
  - extract undocumented entities as well (for class diagrams etc)
  - extract private class members (for fuller documentation)
  - extract only C/C++ files

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoSoftbackend: move serialization out of ModelAnalyzer (#859)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 8 Aug 2018 13:20:56 +0000 (16:20 +0300)]
Softbackend: move serialization out of ModelAnalyzer (#859)

Check limits of char parameters properly,
split max and average pool in defferent calls,
serialize output shape where needed

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[nnc testing] Move unit tests to a separate folder (#913)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Wed, 8 Aug 2018 13:19:50 +0000 (16:19 +0300)]
[nnc testing] Move unit tests to a separate folder (#913)

Created unittests dir, moved nnc module tests there, created CMakeLists.txt for new directory and edited nnc CMakeLists.txt.

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[nnkit] Introduce nnkit_support_caffe (#936)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 10:30:20 +0000 (19:30 +0900)]
[nnkit] Introduce nnkit_support_caffe (#936)

This commit extracts BlobContext and its descendents from nnkit Caffe
backend implementation as nnkit_support_caffe library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Use OpManager for Instr test (#937)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 10:04:41 +0000 (19:04 +0900)]
[coco] Use OpManager for Instr test (#937)

This commit removes DummyOp implementation from Instr test, and uses
OpManager to create an Op instance (which is required by UnitF::op
method tests).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Pass OpLink to Op/Instr Manager (#935)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 08:32:58 +0000 (17:32 +0900)]
[coco] Pass OpLink to Op/Instr Manager (#935)

This commit revises Op/Instr Manager to take OpLink on construction.

Note that OpLink passed ot Op/Instr Managers is not used, yet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Enable format check (#932)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 06:36:32 +0000 (15:36 +0900)]
[coco] Enable format check (#932)

This commit enables format check on coco.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce Generic Data Context (#929)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 05:44:21 +0000 (14:44 +0900)]
[coco] Introduce Generic Data Context (#929)

* [coco] Introduce Generic Data Context

This commit introduces generic data context, which allows any frontends
to deliver constand weight data to backends.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix GCC 4.9 build break

6 years ago[coco] Default constructible DLinkedList::Node (#926)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 04:56:41 +0000 (13:56 +0900)]
[coco] Default constructible DLinkedList::Node (#926)

The current design of DLinkedList::Node enforces all of its descendent classes to
implement a consturctor that takes PtrLink, and passes it to its parent.

This restriction makes it difficult to introduce some intermediate
traists.

This commit revises DLinkedList::Node to remove this restriction.

The current design enforces only leaf classes to implement 'get' method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Generic Data Handling Library (#920)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 01:14:01 +0000 (10:14 +0900)]
[coco.generic] Generic Data Handling Library (#920)

This commit introduces 'coco_generic' which provides various classes and
functions to deal with generic data (such as f32).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Require reads and updates for Instr classes (#922)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 01:00:53 +0000 (10:00 +0900)]
[coco] Require reads and updates for Instr classes (#922)

This commit requires all of Instr classes to implement reads and updates
methods which returns a set of Bags read/updated during execution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoSoft backend: refactoring of artefact Shape class (#820)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 7 Aug 2018 14:15:14 +0000 (17:15 +0300)]
Soft backend: refactoring of artefact Shape class (#820)

Adjust artefact shape to implementation needs
Add more tests

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[coco] Hide BagInfo from Users (#917)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 Aug 2018 10:42:04 +0000 (19:42 +0900)]
[coco] Hide BagInfo from Users (#917)

This commit rewrites 'Bag.h' to include 'BagInfo.forward.h' instead of
'BagInfo.h' in order to hide the implementation details of 'BagInfo'
from the users of 'Bag'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Support Free Variable enumeration (#901)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 Aug 2018 10:18:44 +0000 (19:18 +0900)]
[nest] Support Free Variable enumeration (#901)

This commit introduces 'nest::FV' which allows us to collect free
variables in various nest objects such as expression.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnc debug] Add debugging system (#893)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 7 Aug 2018 09:28:14 +0000 (12:28 +0300)]
[nnc debug] Add debugging system (#893)

 Add logging system implementation.
This initial commit adds header and source files with defined macros for debugging.

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[nnc] Remove unnecessary heap allocs in interpreter test (#916)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 7 Aug 2018 07:34:25 +0000 (10:34 +0300)]
[nnc] Remove unnecessary heap allocs in interpreter test (#916)

Changed unnecessary heap allocation for Interpreter and
ShapeInference objects to stack allocations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[nnc] Fix float equality check in the interpreter test (#915)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 7 Aug 2018 07:34:09 +0000 (10:34 +0300)]
[nnc] Fix float equality check in the interpreter test (#915)

The problem was that the custom float comparing function wasn't
checking for some corner cases, like floats having a different
sign or being +0 and -0 (although this is very unlikely of course).

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[caffegen] Add 'init' command (#918)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 Aug 2018 03:40:42 +0000 (12:40 +0900)]
[caffegen] Add 'init' command (#918)

This commit introduces 'init' command to caffegen. Unlike 'fill' command,
'init' uses Caffe itself to initialize parameters with random values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove unnecessary Instr::ctor test (#919)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 Aug 2018 03:40:34 +0000 (12:40 +0900)]
[coco] Remove unnecessary Instr::ctor test (#919)

This commit removes Instr::ctor test as it currently tests methods
implemented in coco::DLinkedList<...>::Node.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Generate Instr boilerplates from list (#896)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 Aug 2018 00:53:10 +0000 (09:53 +0900)]
[coco] Generate Instr boilerplates from list (#896)

This commit generates Instr boilerplates such as casting methods,
visit method in Instr::Visitor, and mutate method in Instr::Mutator.

This change allows us to easily introduce new instructions.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix soft backend build (#909)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Mon, 6 Aug 2018 12:36:49 +0000 (15:36 +0300)]
Fix soft backend build (#909)

Fix build of soft backend plugins

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[coco] Allows users to query Bag's type (#908)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 6 Aug 2018 06:10:21 +0000 (15:10 +0900)]
[coco] Allows users to query Bag's type (#908)

This commit introduces 'Bag::isInput' and 'Bag::isOutput' methods which
allows users to check Bag's type.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Update 'BagType' from Output (#895)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 6 Aug 2018 03:16:17 +0000 (12:16 +0900)]
[coco] Update 'BagType' from Output (#895)

Now, the changes on the backing bag of each 'Output' will automatically
updates 'BagType'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[morph] Add 'NNAPI' support (#898)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 6 Aug 2018 02:30:55 +0000 (11:30 +0900)]
[morph] Add 'NNAPI' support (#898)

This commit implements shape conversion routines for Android NN API.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[morph] Introduce 'caffe' namespace (#899)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 6 Aug 2018 02:30:48 +0000 (11:30 +0900)]
[morph] Introduce 'caffe' namespace (#899)

This commit introdcues 'caffe' namespaces in order to avoid name conflicts.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd interpreter test and Model IR graph creator that it uses (#872)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 3 Aug 2018 14:26:42 +0000 (17:26 +0300)]
Add interpreter test and Model IR graph creator that it uses (#872)

Graph creator can create a small Model IR graph consisting of an
input operator, and one other operator - the one being tested,
like Conv2D for example.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd serialized test info readers and tensor comparator (#871)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 3 Aug 2018 14:25:51 +0000 (17:25 +0300)]
Add serialized test info readers and tensor comparator (#871)

Added functions that use flatbuffers to get NN operator
parameters needed for Model IR graph construction, and a tensor
comparing function that acts as a GTest assert.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd nnc interpreter test main and test info schema (#869)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 3 Aug 2018 14:18:15 +0000 (17:18 +0300)]
Add nnc interpreter test main and test info schema (#869)

Added nnc interpreter test main file a flatbuffers schema
describing NN operator parameters needed for testing.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoSoft backend: concat operation (#838)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 14:17:51 +0000 (17:17 +0300)]
Soft backend: concat operation (#838)

Add implementation of tensor concatenation operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago Soft backend: pool operation (#835)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 14:17:25 +0000 (17:17 +0300)]
 Soft backend: pool operation (#835)

Add implementation of pool operations

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoAdd nnc interpreter binary test data generator and serializer (#870)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 3 Aug 2018 12:09:39 +0000 (15:09 +0300)]
Add nnc interpreter binary test data generator and serializer (#870)

So far only normally distributed random tensors are supported.
Flatbuffers is used for serialization.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago Soft Backend: capped relu operation (#837)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:08:57 +0000 (15:08 +0300)]
 Soft Backend: capped relu operation (#837)

Add implementation of capped relu operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago Soft backend: fully connected operation (#836)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:08:34 +0000 (15:08 +0300)]
 Soft backend: fully connected operation (#836)

Add implementation of fully connected operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago Soft backend: reshape operation (#834)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:08:15 +0000 (15:08 +0300)]
 Soft backend: reshape operation (#834)

Add implementation of reshape operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago Soft backend: relu operation (#832)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:07:53 +0000 (15:07 +0300)]
 Soft backend: relu operation (#832)

Add implementation of relu operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago Soft backend: bias operation (#831)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:07:31 +0000 (15:07 +0300)]
 Soft backend: bias operation (#831)

Add implementation of bias add operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSoft backend: softmax operation (#817)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:07:07 +0000 (15:07 +0300)]
Soft backend: softmax operation (#817)

Add softmax operation in soft backend

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSoft backend: depthwise convolution operation (#816)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:06:45 +0000 (15:06 +0300)]
Soft backend: depthwise convolution operation (#816)

Add implementation of depthwise convolution operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSoft backend: conv2d operation (#815)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 3 Aug 2018 12:06:19 +0000 (15:06 +0300)]
Soft backend: conv2d operation (#815)

Add Implementation of convolution operation in soft backend

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[coco] Update 'BagType' from Input (#892)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 07:42:59 +0000 (16:42 +0900)]
[coco] Update 'BagType' from Input (#892)

This commit revises 'Input' to update 'BagType' when it updates its
backing Bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Generate methods from Op.lst (#891)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 06:02:26 +0000 (15:02 +0900)]
[coco] Generate methods from Op.lst (#891)

This commit revises 'Op' class to generate the implementation of casting methods
and 'accept' method from 'Op.lst' file, which allows us to easily extend operators.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Pass Bag Link to OutputManager (#889)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 05:28:38 +0000 (14:28 +0900)]
[coco] Pass Bag Link to OutputManager (#889)

This commit revises the constructor of OutputManager to take Bag Link
(Bag to BagInfo map) as its argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce 'Op::uses' method (#890)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 03:01:17 +0000 (12:01 +0900)]
[coco] Introduce 'Op::uses' method (#890)

This commit introduces 'Op::uses' method which returns a set of objects
will be used during execution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Pass Bag Link on the construction of InputManager (#888)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 02:02:21 +0000 (11:02 +0900)]
[coco] Pass Bag Link on the construction of InputManager (#888)

This commit revises the constructor of InputManager to take Bag Link
(Bag to BagInfo map) as its argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Introduce 'nest_core' (#887)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 02:02:12 +0000 (11:02 +0900)]
[nest] Introduce 'nest_core' (#887)

This commit relocates most of the current implementations under
'nest/core' directory to make a room for backend implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Use 'BagManager' in Input/Output tests (#886)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 02:02:03 +0000 (11:02 +0900)]
[coco] Use 'BagManager' in Input/Output tests (#886)

The current implementation of Input/Output tests explicitly invokes the
constructor of 'Bag'. As a result, these implementations are fragile over
Bag class design changes.

This commit revises these tests to use 'BagManager' to reduce the dependency
on the implementation details of Bag class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[morph] Initial commit (#885)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 02:01:54 +0000 (11:01 +0900)]
[morph] Initial commit (#885)

This commit creates 'morph' library project, which will include
shape conversion routines for various NN frameworks.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Overload operators over ElemID (#884)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 02:01:45 +0000 (11:01 +0900)]
[coco] Overload operators over ElemID (#884)

This commit implements two primitive operator overloadings (==, <) over ElemID.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Allow iteration over instrs in a const block (#883)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 02:01:28 +0000 (11:01 +0900)]
[coco] Allow iteration over instrs in a const block (#883)

Currently, users cannot invoke  'Block::instr' method for non-const
Block objects.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce 'BagType' enum class (#882)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 Aug 2018 00:38:51 +0000 (09:38 +0900)]
[coco] Introduce 'BagType' enum class (#882)

This commit introduces 'BagType' enum class, and revises BagInfo to
store its type.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago Soft backend: split generator file (#842)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 2 Aug 2018 17:04:30 +0000 (20:04 +0300)]
 Soft backend: split generator file (#842)

Add library with common support functions for operations

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoAdd ctags files to .gitignore (#861)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 2 Aug 2018 09:30:13 +0000 (12:30 +0300)]
Add ctags files to .gitignore (#861)

Add ctags files to .gitignore

Useful for everyone using ctags to traverse the code.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoSoft backend: split C and C++ plugins (#862)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 2 Aug 2018 07:46:43 +0000 (10:46 +0300)]
Soft backend: split C and C++ plugins (#862)

Split soft backend plugin in two

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSoft backend: base functions for deserialization (#819)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 2 Aug 2018 07:43:06 +0000 (10:43 +0300)]
Soft backend: base functions for deserialization (#819)

Add library for parameter deserialization(like deserializeShape, deserializeKernel)

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoParameters reading from file (#818)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 2 Aug 2018 07:42:14 +0000 (10:42 +0300)]
Parameters reading from file (#818)

Add parameters mapping and unmapping of parameters file

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSoft backend generator serialize output shape, split pool operation (#814)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 2 Aug 2018 07:40:57 +0000 (10:40 +0300)]
Soft backend generator serialize output shape, split pool operation (#814)

Check limits of char parameters properly,
split max and average pool in defferent calls,
serialize output shape where needed

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[coco] Introduce 'Instr::Mutator' (#875)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 06:58:51 +0000 (15:58 +0900)]
[coco] Introduce 'Instr::Mutator' (#875)

This commit introduces 'Instr::Mutator' interface, which allows us to
implement Instr transform pass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Implement 'Instr::head' method (#876)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 06:57:38 +0000 (15:57 +0900)]
[coco] Implement 'Instr::head' method (#876)

This commit implements NYI 'Instr::head' method, and adds related tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Allow visit over constant Op values (#877)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 06:57:31 +0000 (15:57 +0900)]
[coco] Allow visit over constant Op values (#877)

This commit adds 'const' quanlifier to 'accept' methods in Op class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Reorder 'FeatureObject' with feature layout (#874)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 04:47:20 +0000 (13:47 +0900)]
[coco] Reorder 'FeatureObject' with feature layout (#874)

This commit introduces 'reorder' method similarly as in 'KernelObject'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Reorder 'KernelObject' with kernel layout (#873)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 01:36:30 +0000 (10:36 +0900)]
[coco] Reorder 'KernelObject' with kernel layout (#873)

This commit introduces 'reorder' method which allows users to assign
element ID with predefined kernel layouts, such as NCHW and NHWC.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support visit over const Instr objects (#866)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 01:30:45 +0000 (10:30 +0900)]
[coco] Support visit over const Instr objects (#866)

The current implementation of 'accept' has no const qualifier, and thus
it is impossible to apply visitor over const Instr objects.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support Block Destruction (#865)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 Aug 2018 01:30:38 +0000 (10:30 +0900)]
[coco] Support Block Destruction (#865)

This commit introduces 'destroy' method to BlockManager which allows us
to destruct allocated blocks.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core.ADT.kernel] Introduce 'Accessor' interface (#864)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 1 Aug 2018 07:36:04 +0000 (16:36 +0900)]
[nncc.core.ADT.kernel] Introduce 'Accessor' interface (#864)

This commit adds 'nncc::core::ADT::kernel::Accessor<T>' interface, and
revises 'View<T>' to inherit 'Accessor<T>' interface.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Allow PtrManager to release managed objects (#863)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 1 Aug 2018 07:35:55 +0000 (16:35 +0900)]
[coco] Allow PtrManager to release managed objects (#863)

This commit introduces 'release' method to coco::PtrManager, which
allows us to release the ownership of objects managed by PtrManager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Simple convolution network example (#763)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 1 Aug 2018 00:10:30 +0000 (09:10 +0900)]
[coco] Simple convolution network example (#763)

This commit adds a 'IR' test which checkes whether coco IR is
expressive enough to encode a simple convolution network.

This example assumes that NN is built with Caffe.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce template-based Op visitor (#845)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 31 Jul 2018 23:56:03 +0000 (08:56 +0900)]
[coco] Introduce template-based Op visitor (#845)

This commit introduces Op::Vistor class which allows users to analyze
the actual content of each operator.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'Schedule' class (#847)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 31 Jul 2018 23:47:11 +0000 (08:47 +0900)]
[nest] Add 'Schedule' class (#847)

This commit adds 'Schedule' class which basically stores the level of
each variables.

Note that this commit justs introduces the primitive implementation of
'Schedule'. The current implementation does not support any schedule
primitives.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Allow users to access dependent objects (#846)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 31 Jul 2018 23:47:02 +0000 (08:47 +0900)]
[coco] Allow users to access dependent objects (#846)

This commit adds 'object' method to 'Bag' class, which allows users to
access the objects that depends on this bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoMove tensor transpose operation to nnc linalg (#853)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 31 Jul 2018 16:09:23 +0000 (19:09 +0300)]
Move tensor transpose operation to nnc linalg (#853)

Moved tensor transpose operation that operates on the TensorVariant
from frontend-common module to nnc core linalg.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd information about current launched plugin (#858)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 31 Jul 2018 14:34:37 +0000 (17:34 +0300)]
Add information about current launched plugin (#858)

debug info to cout before plugin execution.
current format: Executing plugin <plugin name>

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agonnc: fix def2src generator (#812)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 31 Jul 2018 14:33:04 +0000 (17:33 +0300)]
nnc: fix def2src generator (#812)

add ifndef define endif strucure to header

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agoSoft backend: tflite support library (#772)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 31 Jul 2018 09:59:38 +0000 (12:59 +0300)]
Soft backend: tflite support library (#772)

Add library with common support functions for operations

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoFix assert for reshape (#856)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 30 Jul 2018 10:33:15 +0000 (13:33 +0300)]
Fix assert for reshape (#856)

remove assert for input shape rank
not equal to output shape rank

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years ago[coco] Update dependent objects list of each bag (#844)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 27 Jul 2018 02:12:00 +0000 (11:12 +0900)]
[coco] Update dependent objects list of each bag (#844)

This commit revises 'Object' class to update dependent object lists of
backing bag whenever it updates its backing bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agonnc: add plugin name to execution exception (#807)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 26 Jul 2018 14:30:30 +0000 (17:30 +0300)]
nnc: add plugin name to execution exception (#807)

show plugin name on execution failed

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agoAdd all remaining Caffe layers to Caffe import test plan (#749)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 26 Jul 2018 13:43:45 +0000 (16:43 +0300)]
Add all remaining Caffe layers to Caffe import test plan (#749)

Added missing Caffe layers to the part of SW System Test Case section
of SW System Test document that describes Caffe import test details.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[coco] Instr::Visitor (#829)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 08:37:06 +0000 (17:37 +0900)]
[coco] Instr::Visitor (#829)

This commit revises Instr class to accept a template-based visitor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add a static_assert for type of Child (#830)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 26 Jul 2018 08:30:56 +0000 (17:30 +0900)]
[coco] Add a static_assert for type of Child (#830)

This commit limits the type of template parameter `Child` to be
subclass of `DLinkedList::Node`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[coco] Support 'detach' operation (#828)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 04:50:33 +0000 (13:50 +0900)]
[coco] Support 'detach' operation (#828)

This commit implements 'detach' operation for DLinkedList.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco Use ObjectManager inside Instr tests (#827)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 04:27:28 +0000 (13:27 +0900)]
[coco Use ObjectManager inside Instr tests (#827)

This commit revises Instr tests to use ObjectManager when it create an
Object instrance for testing.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Use ObjectManager inside Op tests (#825)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 02:18:03 +0000 (11:18 +0900)]
[coco] Use ObjectManager inside Op tests (#825)

This commit revises IR_OP_CONV2D.ker_update to use ObjectManager when it
creates a KernelObject instance for testing.

This change allows us to reduce the degree of coupling between 'KernelObject'
class design and IR_OP_CONV2D.ker_update test implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Safe downcast from Object to KernelObject (#798)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 01:57:24 +0000 (10:57 +0900)]
[coco] Safe downcast from Object to KernelObject (#798)

This commit introduces 'asKernel' method which allows users to safely
downcast 'Object' as 'KernelObject'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core.ADT] Add 'feature::HWCLayout' (#811)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 01:57:14 +0000 (10:57 +0900)]
[nncc.core.ADT] Add 'feature::HWCLayout' (#811)

This commit implements 'feature::HWCLayout' class which allows us to
compute the offset on the flat array that uses HWC ordering.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support 'prepend' operation (#822)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 01:55:47 +0000 (10:55 +0900)]
[coco] Support 'prepend' operation (#822)

This commit implements 'prepend' operation in 'DLinkedList' trait.

Now, users are able to insert Child element at the head of a list.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Dependent Object list in BagInfo (#821)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 01:13:20 +0000 (10:13 +0900)]
[coco] Dependent Object list in BagInfo (#821)

This commit revises BagInfo to maintains a list of dependent objects.

Note that this commit does not implement the update over this list.
In addition, this commit does not update 'Bag' which means that this
list is not exposed to IR users, yet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Support copy/move operation on Module (#823)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 01:13:12 +0000 (10:13 +0900)]
[nest] Support copy/move operation on Module (#823)

This commit revises Module class to have default copy/move constructor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Safe downcast to UnitF (#824)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 26 Jul 2018 00:56:33 +0000 (09:56 +0900)]
[coco] Safe downcast to UnitF (#824)

This commit introduces 'asUnitF' method in Instr, which allows users to
safely downcast an Instr object as a UnitF object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Non-template UnitF instruction (#789)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 23:47:36 +0000 (08:47 +0900)]
[coco] Non-template UnitF instruction (#789)

* [coco] Non-template UnitF instruction

This commit revises UnitF instruction class as a non-template class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Simplify 'create' method

6 years ago[coco] Record Tensor index to Element ID mapping in Output (#802)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 23:19:23 +0000 (08:19 +0900)]
[coco] Record Tensor index to Element ID mapping in Output (#802)

With this commit, Output class is now able to record Tensor index to
element ID mapping.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Take Bag to BagInfo map on ObjectManager construction (#803)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 23:17:30 +0000 (08:17 +0900)]
[coco] Take Bag to BagInfo map on ObjectManager construction (#803)

This commit revises the constructor of ObjectManager to take
PtrLink<Bag, BagInfo> as its argument.

Note that this value is not used yet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Allow Ret value copy (#801)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 23:17:21 +0000 (08:17 +0900)]
[nest] Allow Ret value copy (#801)

This commit revises 'nest::Ret' class and 'nest::expr::Subscript' class
to make 'nest::Ret' values copy-assignable.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Introduce 'Level' class (#800)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 23:17:10 +0000 (08:17 +0900)]
[nest] Introduce 'Level' class (#800)

This commit introduces 'Level' class in nest IR which represents the
(iteration) level of each iteration variables.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Implement 'insertBefore' (#805)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 23:16:15 +0000 (08:16 +0900)]
[coco] Implement 'insertBefore' (#805)

This commit implements 'insertBefore' method in DLinkedList::Node trait.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoBugfix: Add NN parameters in soft backend artefact (#706)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 25 Jul 2018 13:45:17 +0000 (16:45 +0300)]
Bugfix: Add NN parameters in soft backend artefact (#706)

Fix absence of NN parameters in artefact

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSupport automatic dimension size in Reshape operation (#790)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 25 Jul 2018 12:07:34 +0000 (15:07 +0300)]
Support automatic dimension size in Reshape operation (#790)

Update ShapeInference to support auto dimension( -1 ) in reshape output shape

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoBugfix: fix tensor naming in c++ soft backend (#678)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 25 Jul 2018 12:03:27 +0000 (15:03 +0300)]
Bugfix: fix tensor naming in c++ soft backend (#678)

Add shape inference in codegen

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[coco] Record Kernel Index to Elem ID relation (#804)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 10:05:37 +0000 (19:05 +0900)]
[coco] Record Kernel Index to Elem ID relation (#804)

This commit revises KernelObject class to record Kernel Index to Elem ID
mapping relation in it.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Store a mapping from Bag to BagInfo (#796)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 06:54:54 +0000 (15:54 +0900)]
[coco] Store a mapping from Bag to BagInfo (#796)

This commit revises BagManager to update the mapping from Bag to BagInfo
for future use.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>