platform/core/ml/nnfw.git
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>
6 years ago[coco] Store feature index to element mapping (#797)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 06:48:41 +0000 (15:48 +0900)]
[coco] Store feature index to element mapping (#797)

This commit revises FeatureObject class to store feature index to
element ID mapping in it.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Notify Bag changes (#787)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 04:22:16 +0000 (13:22 +0900)]
[coco] Notify Bag changes (#787)

This commit introduces virtual 'onUpdate' method in 'Object' class to
allow descendant to perform some actions on backing bag changes.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Record Input-to-Element ID map (#794)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 03:11:37 +0000 (12:11 +0900)]
[coco] Record Input-to-Element ID map (#794)

This commit revises Input class to record Tensor Index to Element ID
mapping for input.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support generic block append (#791)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 03:11:26 +0000 (12:11 +0900)]
[coco] Support generic block append (#791)

The current implementation allows at most one block to be appended to
module.

This commit eliminates such a restrcition.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support Object downcast (#792)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 03:11:14 +0000 (12:11 +0900)]
[coco] Support Object downcast (#792)

This commit adds 'asFeature' method in Object class which allows users
to safely downcast 'Object' as 'FeatureObject'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce 'BagInfo' class (#793)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 02:41:25 +0000 (11:41 +0900)]
[coco] Introduce 'BagInfo' class (#793)

This commit introduces 'BagInfo' class which maintains the internal
state of 'Bag'.

'BagInfo' allows us to distinguish the methods that users (who build IR)
can use from the methods that IR elements such as Object can use.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support copy over ElemID (#786)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 01:48:02 +0000 (10:48 +0900)]
[coco] Support copy over ElemID (#786)

This commit supports copy over ElemID values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support Output alloc through EntityManager (#788)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 25 Jul 2018 00:35:47 +0000 (09:35 +0900)]
[coco] Support Output alloc through EntityManager (#788)

This commit revises EntityManager (and related implementation) to
support 'Output' object allocation through EntityManager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd support library function stubs (#707)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 24 Jul 2018 13:31:47 +0000 (16:31 +0300)]
Add support library function stubs (#707)

This commit adds stubs for support and operation functions to allow artifact build

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[coco] Add 'asConv2D' method (#785)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 10:30:38 +0000 (19:30 +0900)]
[coco] Add 'asConv2D' method (#785)

This commit adds 'asConv2D' method to Op class, which allows users to
safely downcast 'Op' as 'Conv2D'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Record output name (#783)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 10:30:29 +0000 (19:30 +0900)]
[coco] Record output name (#783)

This commit revises 'Output' class to record its name.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'instr' method in EntityManager (#782)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 10:30:20 +0000 (19:30 +0900)]
[coco] Add 'instr' method in EntityManager (#782)

This commit adds 'instr' method in EntityManager which provides a
pointer of internally managed 'InstrManager'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Default-constructible ElemID (#784)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 09:37:45 +0000 (18:37 +0900)]
[coco] Default-constructible ElemID (#784)

This commit revises ElemID class as a default-constructible class
for better STL-compatibility.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUnify docker commands (#761)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 08:40:30 +0000 (17:40 +0900)]
Unify docker commands (#761)

This commit unifies docker-configure/docker-build/docker-test commands
into docker-nncc, and updates getting started document.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd nnc Caffe importer plugin (#746)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 24 Jul 2018 08:37:29 +0000 (11:37 +0300)]
Add nnc Caffe importer plugin (#746)

Incorporated nnc Caffe importer to the nnc plugin system.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[nnc backend] Implement Conv2D_FFT methods (#636)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 24 Jul 2018 08:36:43 +0000 (11:36 +0300)]
[nnc backend] Implement Conv2D_FFT methods (#636)

* Added added utility functions.

Added pad_input(), unpack_and_pad_kernels(). Implementes most of operator().

* Added fft() implementation.

Added concrete implementation of FFT using in-place Cooley-Tukey algorithm.

* Added elementwise_product().

Added a function that performs convolution in Fourier domain. Also, fixed some interfaces.

* Added ifft() implementation.

implemented ifft(), which performs inverse FFT and concludes class implementation.

Added multiplying by channels in ifft() indexing.

* Restored ShapeRange loop.

unpack_and_pad_kernels now uses for (... : kernelRange) again to make code more understandable.

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[coco] Store backing Bag in Output (#781)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 06:02:17 +0000 (15:02 +0900)]
[coco] Store backing Bag in Output (#781)

This commit revises Output class to store backing Bag object in it.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'output' method in Module (#780)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 06:01:44 +0000 (15:01 +0900)]
[coco] Add 'output' method in Module (#780)

This commit adds 'output' method in Module class, which allows users to
access Output list inside Module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'name' attribute to Input (#777)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 06:00:47 +0000 (15:00 +0900)]
[coco] Add 'name' attribute to Input (#777)

This commit adds 'name' attribute to Input class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'InstrManager' class (#776)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 06:00:26 +0000 (15:00 +0900)]
[coco] Add 'InstrManager' class (#776)

This commit adds 'InstrManager' class which allocates and tracks instances of
'Instr' class.

The current implementation is restrictied to 'UnitF<Conv2D>'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'ElemID' class (#773)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 06:00:01 +0000 (15:00 +0900)]
[coco] Add 'ElemID' class (#773)

This commit adds 'ElemID' class to distinguish element IDs from
usual numeric values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'op' method in EntityManager (#779)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 04:52:16 +0000 (13:52 +0900)]
[coco] Add 'op' method in EntityManager (#779)

This commit adds 'op' method which returns a pointer of 'OpManager', and
revises the corresponding implementation in Module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'object' method in EntityManager (#770)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 02:55:14 +0000 (11:55 +0900)]
[coco] Add 'object' method in EntityManager (#770)

This commit extends EntityManager interface to provide 'object' method
which returns a pointer to ObjectManager instance.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Store backing Bag in Input (#768)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 01:14:09 +0000 (10:14 +0900)]
[coco] Store backing Bag in Input (#768)

This commit revises Input class to store backing Bag object in it.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] remove extra space (#775)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 24 Jul 2018 00:55:38 +0000 (09:55 +0900)]
[coco] remove extra space (#775)

This will remove extra space in include line

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[coco] BlockList in Module (#769)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 24 Jul 2018 00:47:28 +0000 (09:47 +0900)]
[coco] BlockList in Module (#769)

This commit revises Module interface to provide the head of a doubly
linked Block list.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'block' method to EntityManager (#767)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 09:45:16 +0000 (18:45 +0900)]
[coco] Add 'block' method to EntityManager (#767)

This commit extends EntityManager to provides a 'BlockManager' object
(as a pointer) via 'block' method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'BlockManager' class (#764)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 07:56:44 +0000 (16:56 +0900)]
[coco] Add 'BlockManager' class (#764)

This commit adds 'BlockManager' class which allocates and tracks all the
instrances of 'Block' in coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'bag' method to EntityManager (#765)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 07:52:04 +0000 (16:52 +0900)]
[coco] Add 'bag' method to EntityManager (#765)

This commit adds 'bag' method (which provides a pointer to BagManager)
to EntityManager.

This commit includes corresponding changes on the implementation and
test of Module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Record network input list in Module (#766)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 07:51:43 +0000 (16:51 +0900)]
[coco] Record network input list in Module (#766)

This commit adds 'input()' method to 'Module' class which returns a list
of 'Input' objects.

This list records the list of inputs in the NN network that Module
represents.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'ObjectManager' (#757)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 06:38:45 +0000 (15:38 +0900)]
[coco] Add 'ObjectManager' (#757)

* [coco] Add 'ObjectManager'

This commit adds the base implementation of 'ObjectManager'

The current implementation supports 'FeatureObject' and 'KernelObject'
construction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use forward headers

6 years ago[coco] Add 'OpManager' class (#759)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 05:33:26 +0000 (14:33 +0900)]
[coco] Add 'OpManager' class (#759)

* [coco] Add 'OpManager' class

This commit adds 'OpManager' class which is able to allocate and track
Conv2D op objects.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a wrong comment

6 years ago[coco] Add 'input' method to EntityManager (#762)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 05:33:16 +0000 (14:33 +0900)]
[coco] Add 'input' method to EntityManager (#762)

This commit adds pure virtual 'input' method (which returns a pointer of
InputManager) to EntityManager, and updates the corresponding
implementation in Module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] 'Block' as a child of 'Module' (#755)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 05:31:51 +0000 (14:31 +0900)]
[coco] 'Block' as a child of 'Module' (#755)

This commit introduces 'BlockList' alias, and introduces dummy 'head'
implementation required by 'DLinkedList' trait.

This dummy 'head' implementation will be replaced with the concreate one
later.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'UnitF' instruction class (#760)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 05:28:57 +0000 (14:28 +0900)]
[coco] Add 'UnitF' instruction class (#760)

This commit adds 'UnitF' instruction class which consists of one NN
operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Record a backing bag for each object (#758)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 05:28:46 +0000 (14:28 +0900)]
[coco] Record a backing bag for each object (#758)

This commit revises 'Object' class to record a backing bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce factory method for Module (#756)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 05:10:45 +0000 (14:10 +0900)]
[coco] Introduce factory method for Module (#756)

Several memory allocations are necessary to construct a module object
currently, which may throw an exception.

This commit extracts all of memory allocations from constructor.

To extract memory allocations from constructor, this commit introduces
tow major changes over Module class design:
- Rewrite Module as pure virtual interface
- Introduce factory method

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'Conv2D' class (#753)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 02:20:39 +0000 (11:20 +0900)]
[coco] Add 'Conv2D' class (#753)

This commit adds 'Conv2D' operation class which inherits 'Op' class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'FeatureInstr' class (#752)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 01:26:23 +0000 (10:26 +0900)]
[coco] Add 'FeatureInstr' class (#752)

This commit adds 'FeatureInstr' class which inherits 'Instr' class.

'Featureinstr' class will serve as a base interface for all feature
-to-feature instructions.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'OutputManager' class (#744)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 01:07:43 +0000 (10:07 +0900)]
[coco] Add 'OutputManager' class (#744)

This commit adds 'OutputManager' class which serves as 'Output' object
factory.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'BagManager' (#751)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 01:07:34 +0000 (10:07 +0900)]
[coco] Add 'BagManager' (#751)

This commit adds 'BagManager' with base implementation, which creates and tracks
'Bag' objects in coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'KernelObject' class (#743)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 00:51:00 +0000 (09:51 +0900)]
[coco] Add 'KernelObject' class (#743)

This commit adds 'KernelObject' class which allows us to encode convolution
kernel values in IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'Block' base implementation (#740)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 00:39:37 +0000 (09:39 +0900)]
[coco] Add 'Block' base implementation (#740)

This commit adds the base implementation of 'Block' which has only the
head of instr linked list.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'entity' method to Module (#739)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 00:21:18 +0000 (09:21 +0900)]
[coco] Add 'entity' method to Module (#739)

This commit adds 'entity' method to Module, which returns a pointer of
internal 'EntityManager'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Implement 'InputManager' class (#741)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 00:21:09 +0000 (09:21 +0900)]
[coco] Implement 'InputManager' class (#741)

This commit implements 'InputManager' class which serves as a Input
(IR entity) factory.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Fix a typo in Op class comment (#742)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 23 Jul 2018 00:21:00 +0000 (09:21 +0900)]
[coco] Fix a typo in Op class comment (#742)

This commit fixes two typos in Op class comment:
 - Use doxygen-style comment
 - breif -> brief

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoApply shared library extension name according to OS (#696)
이성재/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 20 Jul 2018 07:49:01 +0000 (16:49 +0900)]
Apply shared library extension name according to OS (#696)

* apply dll extension name according to OS in PR test.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
6 years ago[coco] Add 'FeatureObject' class (#738)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 06:26:21 +0000 (15:26 +0900)]
[coco] Add 'FeatureObject' class (#738)

This commit adds 'FeatureObject' class which inherits 'Object' class.
This class is used to represent feature map values used in CNN.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'Input' class (#734)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 05:39:37 +0000 (14:39 +0900)]
[coco] Add 'Input' class (#734)

This commit add 'Input' class which records input-related information.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'Output' class (#735)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 05:39:29 +0000 (14:39 +0900)]
[coco] Add 'Output' class (#735)

This commit adds 'Output' class which records informations related with
a network's output.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'Instr' class (#728)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 05:38:35 +0000 (14:38 +0900)]
[coco] Add 'Instr' class (#728)

This commit adds 'Instr' class and related tests.

Note that 'Instr' has a NYI method as 'Instr' is tightly
coupled with 'Block' but 'Block' is not yet implemented.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'EntityManager' class (#731)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 05:36:43 +0000 (14:36 +0900)]
[coco] Add 'EntityManager' class (#731)

This commit adds 'EntityManager' class which serves as a meta (lifetime)
managers of all kinds of IR entities (except Module).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Link nncc core/foundation libraries (#729)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 04:35:56 +0000 (13:35 +0900)]
[coco] Link nncc core/foundation libraries (#729)

This commit linkes nncc_core and nncc_foundaton to coco_core (to reuse
common implementation).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'Conv2D' example (#732)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 20 Jul 2018 01:42:25 +0000 (10:42 +0900)]
[nest] Add 'Conv2D' example (#732)

* [nest] Add 'Conv2D' example

This commit adds an example how to describe simple Conv2D operation (without
bias and activation) with nest.

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

6 years agoInclude in coverage info files not covered by tests (#690)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 19 Jul 2018 14:12:30 +0000 (17:12 +0300)]
Include in coverage info files not covered by tests (#690)

Include in coverage info files not covered by tests

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>