platform/core/ml/nnfw.git
5 years ago[coco] Remove links for child-parent relation update (#1522)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 06:50:44 +0000 (15:50 +0900)]
[coco] Remove links for child-parent relation update (#1522)

This commit eliminates all the use of PtrLink as a mean to update
child-parent relation between DLinkedList::Head and DLinkedList::Node.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Use 'Appender' in Split pass (#1516)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 06:36:18 +0000 (15:36 +0900)]
[enco] Use 'Appender' in Split pass (#1516)

* [enco] Use 'Appender' in Split pass

This commit introduces the concept of 'Appender' in Split pass.

Conceptually, each Appender encapsulates the update over ANN IR for
each coco IR instruction.

This change is a step to unify ANNGroupBuilder and ANNOpBuilder.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unused variable avgpool

5 years ago[coco] Introduce Step class (#1517)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 06:17:02 +0000 (15:17 +0900)]
[coco] Introduce Step class (#1517)

This commit introduces Step class which denotes the edge between Op and
Instr.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove Bag-to-BagInfo link (#1519)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 05:50:37 +0000 (14:50 +0900)]
[coco] Remove Bag-to-BagInfo link (#1519)

This commit removes all the use of Bag-to-BagInfo link from coco IR
codebase.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Allow Def to access the internals of Object (#1515)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 04:25:09 +0000 (13:25 +0900)]
[coco] Allow Def to access the internals of Object (#1515)

This commit declares Def as a friend of Object class, which allows Def
to access Object's internal fields.

This change allows us to simplify the implementation of Def.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Detach Node from List on destruction (#1514)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 04:24:30 +0000 (13:24 +0900)]
[coco] Detach Node from List on destruction (#1514)

This commit revises DLinkedList::Node's destructor to detach itself on
destruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce producer and consumers helpers (#1513)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 04:24:17 +0000 (13:24 +0900)]
[coco] Introduce producer and consumers helpers (#1513)

This commit introduces producer and consumers helpers for Object values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Direct updates Input/Ouput mask (#1512)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 04:15:19 +0000 (13:15 +0900)]
[coco] Direct updates Input/Ouput mask (#1512)

This commit declares Input and Ouput class as a friend of Bag, and
revises these classes to update Bag's make without using Bag-to-BagInfo
link.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename UseSlot as Use (#1511)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 02:13:53 +0000 (11:13 +0900)]
[coco] Rename UseSlot as Use (#1511)

This commit renames UseSlot as Use (to be consistent with Def).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Prepare Window2D method renaming (#1509)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 02:05:15 +0000 (11:05 +0900)]
[coco] Prepare Window2D method renaming (#1509)

Window2D currently has 'vertical' and 'horizontal' methods, but
it would be better to use 'height' and 'width' to make it clear that
Window2D represents the shape of receptive fields.

As the first step to method renaming, this commit introduces 'height'
and 'width' methods to allow clients (such as enco) to prepare
themselves for future changes.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Change object destruction order (#1508)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 02:04:42 +0000 (11:04 +0900)]
[coco] Change object destruction order (#1508)

This commit changes the order of object destruction in coco::Module
implementation to allow each block to detach itself from the
corresponding BlockList.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Infer Output Shape of Convolution with group (#1501)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 02:03:28 +0000 (11:03 +0900)]
[enco] Infer Output Shape of Convolution with group (#1501)

This commit extends ConvolutionSpec to handle non-default group parameter.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Direct update on UpdateSet (#1510)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 00:43:42 +0000 (09:43 +0900)]
[coco] Direct update on UpdateSet (#1510)

This commit declares Update as a friend class of Bag, and revises Update
to update UpdateSet in a Bag without using Bag-to-BagInfo link.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Direct update on ReadSet (#1496)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 00:21:50 +0000 (09:21 +0900)]
[coco] Direct update on ReadSet (#1496)

This commit declares Read as a friend class of Bag, and updates ReadSet
in it without using Bag-to-BagInfo link.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Class static head (#1498)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 10:57:09 +0000 (19:57 +0900)]
[coco] Class static head (#1498)

This commit replaces pure virtual head method with class static version
in order to support detach from destructor.

Note that destructor SHOULD NOT invoke virtual method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove deprecated get (#1499)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 10:33:51 +0000 (19:33 +0900)]
[coco] Remove deprecated get (#1499)

This commit removes deprecated get method in DLinkedList Node.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce 'group' parameter to Conv2D op (#1495)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 09:40:38 +0000 (18:40 +0900)]
[coco] Introduce 'group' parameter to Conv2D op (#1495)

This commit introduces 'group' parameter to Conv2D op in order to
support depthwise (or grouped in general) convolution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[stdex] Introduce Memory.h (#1494)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 09:40:30 +0000 (18:40 +0900)]
[stdex] Introduce Memory.h (#1494)

This commit introduces Memory.h to stdex library, which includes
make_unique implementation (not present in C++ 11).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove unnecessary methods for bag link update (#1497)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 09:24:26 +0000 (18:24 +0900)]
[coco] Remove unnecessary methods for bag link update (#1497)

This commit removes all of unnecessary methods introduced to deliver bag
link to each Dep.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Simplify Bag-Dep relation update (#1492)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 07:52:08 +0000 (16:52 +0900)]
[coco] Simplify Bag-Dep relation update (#1492)

This commit simplifies Bag-Dep relation updates via friend declaration.

Now, Dep does not use Bag-to-BagInfo link for relation update.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Direct Parent-Child relation update in DLinkedList (#1491)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 07:48:31 +0000 (16:48 +0900)]
[coco] Direct Parent-Child relation update in DLinkedList (#1491)

This commit revises DLinkedLists to directly updates parent-child
relations instead of using PtrLink.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove UseHook (#1493)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 07:48:18 +0000 (16:48 +0900)]
[coco] Remove UseHook (#1493)

This commit removes UseHook and implements its functionalities in
UseSlot as in Def.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Hoist objects across multiple shuffle(s) (#1489)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 07:47:50 +0000 (16:47 +0900)]
[enco] Hoist objects across multiple shuffle(s) (#1489)

* [enco] Hoist objects across multiple shuffle(s)

This commit extends object hoist optimization pass to support object
hoist across multiple shuffle(s).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Add 'Case 1' section

* Fix a typo (followinc --> following)

5 years ago[coco] Link to Def instead of Producer (#1487)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Sep 2018 04:15:34 +0000 (13:15 +0900)]
[coco] Link to Def instead of Producer (#1487)

This commit revises ObjectInfo class to maintain a link(= pointer) to
Def instead of Producer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoSupport new caffe operations in soft backend (#1476)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 13 Sep 2018 17:49:03 +0000 (20:49 +0300)]
Support new caffe operations in soft backend (#1476)

Support new operations:
+ Scale (works on channel axis only)
+ Dropout (passes tensor without changes)
+ BatchNorm (passes tensor without changes)

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoAdd interpreter implementations for new operations (#1456)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 13 Sep 2018 17:03:15 +0000 (20:03 +0300)]
Add interpreter implementations for new operations (#1456)

Adds implementation for operation added in #1396 ( Scale, Dropout, BatchNorm )

TODO: BatchNorm and Dropout are simple stubs( just copy input to output )

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years ago[nnc] Remove backslashes from interpreter plugin output tensor name (#1236)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 13 Sep 2018 13:19:10 +0000 (16:19 +0300)]
[nnc] Remove backslashes from interpreter plugin output tensor name (#1236)

Remove backslashes from interpreter plugin tensor name

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[coco] Rename DefSlot (#1484)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Sep 2018 03:32:08 +0000 (12:32 +0900)]
[coco] Rename DefSlot (#1484)

This commit renames DefSlot as Def similarly as Dep/Read/Update for Bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove DefHook (#1483)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Sep 2018 02:23:01 +0000 (11:23 +0900)]
[coco] Remove DefHook (#1483)

This commit removes DefHook and implements its functionalities directly
in DefSlot.

This change is a step to revise DefSlot similarly as Dep/Read/Update.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Non-template UseSlot (#1482)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Sep 2018 02:20:52 +0000 (11:20 +0900)]
[coco] Non-template UseSlot (#1482)

This commit rewrites UseSlot as a non-template version. This is a step
to support Object-to-Object substitution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[caffegen] Enable format check (#1481)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Sep 2018 01:34:20 +0000 (10:34 +0900)]
[caffegen] Enable format check (#1481)

This commit enables format check over caffegen code, and fixes existing
format errors.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce Object Hoisting Optimization (#1479)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Sep 2018 01:24:42 +0000 (10:24 +0900)]
[enco] Introduce Object Hoisting Optimization (#1479)

* [enco] Introduce Object Hoisting Optimization

This commit implments object hoisting opimization in enco NNAPI backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unused candidates

5 years ago[coco] Non-template DefSlot (#1480)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Sep 2018 01:24:29 +0000 (10:24 +0900)]
[coco] Non-template DefSlot (#1480)

DefSlot is revised as a non-template version, which is a step to
support Object-to-Object substitution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce replaceAllDepsWith (#1472)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 23:12:25 +0000 (08:12 +0900)]
[coco] Introduce replaceAllDepsWith (#1472)

This commit introduces replaceAllDepsWith method in Bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Eliminate dead bags (#1473)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 23:01:15 +0000 (08:01 +0900)]
[enco] Eliminate dead bags (#1473)

This commit implements dead bag elimination optimization pass in enco
NNAPI backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename Object::Def and Object::Use (#1478)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 22:57:06 +0000 (07:57 +0900)]
[coco] Rename Object::Def and Object::Use (#1478)

This commit renames Object::Def and Object::Use as Object::Producer and
Object::Consumer, respectively.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Extract PoolingParmeter importer (#1471)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 22:32:39 +0000 (07:32 +0900)]
[enco] Extract PoolingParmeter importer (#1471)

This commit extracts PoolingParameter importer implemented in
PoolingSpec test as a library routine.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Documentation for soft backend (#1237)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 12 Sep 2018 17:37:20 +0000 (20:37 +0300)]
[nnc] Documentation for soft backend (#1237)

Added doxygen documentation for soft backend

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoSupport Split operation in caffe frontend (#1475)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 12 Sep 2018 17:07:06 +0000 (20:07 +0300)]
Support Split operation in caffe frontend (#1475)

Support Split operation in caffe importer

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoImplement Passes in nnc (#1474)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 16:34:28 +0000 (19:34 +0300)]
Implement Passes in nnc (#1474)

* implement passes system
* remove plugins

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoNew operations for caffe frontend (#1360)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Wed, 12 Sep 2018 13:27:56 +0000 (16:27 +0300)]
New operations for caffe frontend (#1360)

Added new ops to caffe frontend:
* BatchNorm
* Scale
* Dropout

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years ago[nnc] Add support for loading model weights to Caffegen (#1414)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Wed, 12 Sep 2018 09:57:44 +0000 (12:57 +0300)]
[nnc] Add support for loading model weights to Caffegen  (#1414)

Added binary model with weights maker to caffegen.
This actually reads weights from `.caffemodel` files.

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years ago[enco] Generate bypass shuffle (#1470)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 08:13:07 +0000 (17:13 +0900)]
[enco] Generate bypass shuffle (#1470)

This commit introduces bypass shuffle generation pass in enco NNAPI
backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Remove CanonicalAxisIndex (#1468)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 07:43:22 +0000 (16:43 +0900)]
[enco] Remove CanonicalAxisIndex (#1468)

CanonicalAxisIndex is currently just a wrapper of ShapeQuery.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename mock-up Read as Readers (#1469)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 07:43:13 +0000 (16:43 +0900)]
[coco] Rename mock-up Read as Readers (#1469)

The name of this mock-up class is not changed during refactoring in
order to reduce the amount of code diffs.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support Bag destruction (#1463)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 06:04:24 +0000 (15:04 +0900)]
[coco] Support Bag destruction (#1463)

This commit extends BagManager with destroy method. This change allows
users to safely destruct bags allocated via Bagmanager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support Bag replace (#1467)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 06:04:11 +0000 (15:04 +0900)]
[coco] Support Bag replace (#1467)

This commit introduces replaceWith method in Bag, which allows users to
replace all the occurences of a bag in IR with another bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoRemove unnecessary set in ExternalSourceTools (#1466)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 06:04:03 +0000 (15:04 +0900)]
Remove unnecessary set in ExternalSourceTools (#1466)

This set command in necessary as a package, but unnecessary as a module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce defined in Shuffle (#1465)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 06:03:48 +0000 (15:03 +0900)]
[coco] Introduce defined in Shuffle (#1465)

This commit extends Shuffle class with defined method.

This 'defined' method allows users to check whether a specified
element is specified as a target in Shuffle instruction without
using heavy range call.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Shuffle::at with ElemID method (#1464)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 04:55:52 +0000 (13:55 +0900)]
[coco] Introduce Shuffle::at with ElemID method (#1464)

This commit introduces Shuffle::at method that takes ElemID as its
argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Randomize inception c1 test (#1461)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 04:30:09 +0000 (13:30 +0900)]
[enco] Randomize inception c1 test (#1461)

The current inception c1 tests uses zero-filled kernel.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoOptionTools as a module (#1458)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 02:09:15 +0000 (11:09 +0900)]
OptionTools as a module (#1458)

OptionTools also does not fit into the concept of packages in nncc.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoExternalProejctTools as a module (#1453)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:37:08 +0000 (19:37 +0900)]
ExternalProejctTools as a module (#1453)

Similarly as ExternalSourceTool, ExternalProejctTools also does not fin
into the concept of packages in nncc.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[core] Remove unused Printable trait (#1454)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:36:48 +0000 (19:36 +0900)]
[core] Remove unused Printable trait (#1454)

This commit removes unused Printable trait declaration and related
implementations and tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Unlink Object's Def on destruction (#1457)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:36:40 +0000 (19:36 +0900)]
[coco] Unlink Object's Def on destruction (#1457)

This commit revises DefSlot<T> to unlink linked Def from Object on
destruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support Instr destruction (#1455)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:24:45 +0000 (19:24 +0900)]
[coco] Support Instr destruction (#1455)

This commit extends InstrManager with destroy method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Ensure Bag has no reference on destruction (#1449)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:37:36 +0000 (17:37 +0900)]
[coco] Ensure Bag has no reference on destruction (#1449)

This commit introduces several asserts inside Bag's destructor to ensure
that each bag has no reference in IR on destruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Refine Bag::updates method interface (#1448)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:37:24 +0000 (17:37 +0900)]
[coco] Refine Bag::updates method interface (#1448)

This commit changes Bag::updates method signature to support
constant-time access over Update links.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add inception c1 test (#1447)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:25:40 +0000 (17:25 +0900)]
[enco] Add inception c1 test (#1447)

This commit integrates inception_c1 example into caffe test suite.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Refine Bag::reads method interface (#1446)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:07:16 +0000 (17:07 +0900)]
[coco] Refine Bag::reads method interface (#1446)

This commit refines Bag::reads method to support constant-time access
over Read links.

Note that this commit introduces semantic changes over Bag::reads
method, but does not change the semantics of readers helper.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoExternalSourceTools as a module (#1445)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 07:56:52 +0000 (16:56 +0900)]
ExternalSourceTools as a module (#1445)

ExternalSourceTools does not fit into the concept of packages in nncc as
it does not import (or build) any external dependencies, and is always
available.

This commit converts ExternalSource as a module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Refine Bag::deps method interface (#1444)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 06:41:39 +0000 (15:41 +0900)]
[coco] Refine Bag::deps method interface (#1444)

This commit refines Bag::deps method to return the set of Deps links
that points on the current bag.

Note that this commit does not change the semantics non-member 'dependent_objects'
helper, so one may use 'dependent_objects' helper instead of 'deps'
method for compatiblity.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Fix Read.forward.h (#1443)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 06:24:48 +0000 (15:24 +0900)]
[coco] Fix Read.forward.h (#1443)

This commit rewrites Read.forward.h to provides the forward declaration
of Read class; The current implementation provides the duplicated definition
of Read class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Replace the use of deprecated methods in Bag (#1442)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:40:44 +0000 (13:40 +0900)]
[enco] Replace the use of deprecated methods in Bag (#1442)

This commit replaces the use of deprecated methods in Bag with suggested
ones.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Use make_unique without namespace (#1441)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:40:32 +0000 (13:40 +0900)]
[coco] Use make_unique without namespace (#1441)

This commit introduces 'using' statement for 'make_unique' in
Module.cpp. This change will improve code readability, and make
it easy to adopt C++ 14 later.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Unlink Read from Bag on destruction (#1438)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:37:34 +0000 (13:37 +0900)]
[coco] Unlink Read from Bag on destruction (#1438)

This commit implements the destructor of Read which unlinks itself from
a linked bag if it exists.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Unlink Update from Bag on desturction (#1439)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:36:18 +0000 (13:36 +0900)]
[coco] Unlink Update from Bag on desturction (#1439)

With this commit, Update unlinks itself from a linked bag if it exists.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce non-member helpers for Bag (#1440)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:26:59 +0000 (13:26 +0900)]
[coco] Introduce non-member helpers for Bag (#1440)

This commit introduces the following non-member helpers for Bag
 - dependent_objects
 - readers
 - updaters

These functions have a corresponding method in Bag, but these methods
will be deprecated.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Maintain UpdateSet instead of UpdaterSet (#1437)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 02:58:11 +0000 (11:58 +0900)]
[coco] Maintain UpdateSet instead of UpdaterSet (#1437)

This commit rewrites BagInfo to maintain UpdateSet instead of
UpdaterSet, which is necessary to support Bag-to-Bag substitution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Maintain ReadSet instead of ReaderSet (#1435)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 02:24:40 +0000 (11:24 +0900)]
[coco] Maintain ReadSet instead of ReaderSet (#1435)

* [coco] Maintain ReadSet instead of ReaderSet

This commit revises BagInfo to maintain a set of Read instead of Reader
as a step to support Bag substitution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Do not check _reader on update

5 years ago[coco] Remove UpdateHook (#1434)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 01:49:51 +0000 (10:49 +0900)]
[coco] Remove UpdateHook (#1434)

UpdateHook was introduced to isolate non-template implementation from
Update<T>.

Now, Update<T> is no longer based on template, and thus UpdateHook is no
longer necessary.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[ci] Add hdf5-tools to Dockerfile (#1429)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 11 Sep 2018 01:46:30 +0000 (10:46 +0900)]
[ci] Add hdf5-tools to Dockerfile (#1429)

* [ci] Add hdf5-tools to Dockerfile

This will add hdf5-tools to Dockefile for test programs that uses hdf5 tools

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* Change comment for hdf5-tools

5 years ago[coco] Remove ReadHook (#1433)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 01:34:54 +0000 (10:34 +0900)]
[coco] Remove ReadHook (#1433)

ReadHook was introduced to provide  common (non-template) implementation
over Read<T> classes.

This commit removes ReadHook and directly implements related operation
in Read as Read is no longer based on template.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[morph] Introduce dims.h (#1432)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 01:17:48 +0000 (10:17 +0900)]
[morph] Introduce dims.h (#1432)

This commit introduces dims modulue which will include helpers
for dims object creation from various shapes.

The current implementation supports only a helper for tensor shape.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename ReadSlot and UpdateSlot (#1420)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 00:42:02 +0000 (09:42 +0900)]
[coco] Rename ReadSlot and UpdateSlot (#1420)

This commit renames ReadSlot and UpdateSlot as Read/Update similarly as
Dep class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Maintain Dep(s) instead of Object(s) (#1424)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 00:35:31 +0000 (09:35 +0900)]
[coco] Maintain Dep(s) instead of Object(s) (#1424)

As the first step to support Bag substitution, this commit revises
BagInfo to internally maintain a list of Dep(s) in each dependent
Object instead of Object itself.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoFix comments (#1427)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 10 Sep 2018 23:22:42 +0000 (02:22 +0300)]
Fix comments (#1427)

This commit fixes some puzzling comments in caffegen

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years agonnc: add DOT format support to model dumpers (#1359)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 10 Sep 2018 15:00:02 +0000 (18:00 +0300)]
nnc: add DOT format support to model dumpers (#1359)

usage for dumpers:
    --dot - for dot format
    --dump - for simple format

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
5 years agoSupport missing Caffe Ops in Visitors (#1396)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 10 Sep 2018 14:30:28 +0000 (17:30 +0300)]
Support missing Caffe Ops in Visitors (#1396)

Added stubs to Visitors for Missing Caffe Ops.
ShapeInference, DotDumper, Interpreter now have skeleton implementations

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years agoNot unload plugins when they have already done (#1426)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 10:49:30 +0000 (13:49 +0300)]
Not unload plugins when they have already done (#1426)

workaround for bugs: #1300, #1198

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[enco] Add caffe 015 test (#1421)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 04:06:54 +0000 (13:06 +0900)]
[enco] Add caffe 015 test (#1421)

This commit adds caffe 015 test which includes a convolution layer that
specifies padding via pad_h/pad_w parameters.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove deprecated Bag::object method (#1422)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 03:51:52 +0000 (12:51 +0900)]
[coco] Remove deprecated Bag::object method (#1422)

This commit removes deprecated Bag::object method declaration and
implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Replace deprecated object with deps (#1419)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 02:22:21 +0000 (11:22 +0900)]
[enco] Replace deprecated object with deps (#1419)

This commit replaces all the use of deprecated Bag::object method inside
enco with Bag::deps.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Support convolution layer with pad_h and pad_w (#1418)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 02:08:39 +0000 (11:08 +0900)]
[enco] Support convolution layer with pad_h and pad_w (#1418)

* [enco] Support convolution layer with pad_h and pad_w

This commit extends caffe frontend to support convolution layer with
pad_h and pad_w parameters.

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

5 years ago[coco] Introduce Bag::deps (#1411)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 01:43:42 +0000 (10:43 +0900)]
[coco] Introduce Bag::deps (#1411)

This commit introduces Bag::deps which replaces existing 'object'
method.

New 'deps' method returns a snapshot of dependent object set similarly
as 'reads' and 'updates'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename Read and Update (#1410)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 00:38:34 +0000 (09:38 +0900)]
[coco] Rename Read and Update (#1410)

This commit renames Read and Update as Reader and Updater, respectively.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 014 test (#1415)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 00:38:21 +0000 (09:38 +0900)]
[enco] Add caffe 014 test (#1415)

This commit introduces caffe 014 testcase for concat layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Generate loops correctly (#1409)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 00:07:28 +0000 (09:07 +0900)]
[enco] Generate loops correctly (#1409)

The current implementation of LoopGen assumes that Shuffle is fully
specified over the destination bag.

While previous commit addresses one specific issue, it turns out that
LoopGen still suffers from various asserts during execution, and
generates incorrect code.

This commit rewrites LoopGen to depend on TransferSequence instead of
directly using Shuffle instruction to address all of remaining issues.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Scalar param support in IR dumper (#1397)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Fri, 7 Sep 2018 10:37:26 +0000 (13:37 +0300)]
[nnc] Scalar param support in IR dumper (#1397)

Added scalar parameter support in IR Dot Dumper
The params and their names are stored in a `vector<pair<string,float>>`

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years ago[enco.caffe] Support IRGen over Concat layer (#1408)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 07:48:42 +0000 (16:48 +0900)]
[enco.caffe] Support IRGen over Concat layer (#1408)

With this commit, enco caffe frontend is now able to generate coco IR
for Concat layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Use 'Dep' inside 'Object' (#1406)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 07:38:51 +0000 (16:38 +0900)]
[coco] Use 'Dep' inside 'Object' (#1406)

This commit replaces Bag * inside Object with 'Dep'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Loop Generation over Partial Shuffle (#1405)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 04:31:44 +0000 (13:31 +0900)]
[enco] Loop Generation over Partial Shuffle (#1405)

With this commit, Host codegen is now able to emit loop nests for
partial shuffle.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce ShapeQuery class (#1404)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 04:31:36 +0000 (13:31 +0900)]
[enco] Introduce ShapeQuery class (#1404)

* [enco] Introduce ShapeQuery class

This commit generalizes CanonicalChannelAxis implementation as
ShapeQuery to reuse this logic for other layers.

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

5 years ago[enco] Introduce ConcatSpec class (#1403)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 02:18:30 +0000 (11:18 +0900)]
[enco] Introduce ConcatSpec class (#1403)

This commit introduces ConcatSpec class which estimates the output shape
of Concat layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Dep class (#1401)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 02:12:43 +0000 (11:12 +0900)]
[coco] Introduce Dep class (#1401)

This commit introduces Dep class which represents the edge between Bag
and its dependent Object; the code itself is derived from Object::bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Shuffle::range (#1400)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 02:12:31 +0000 (11:12 +0900)]
[coco] Introduce Shuffle::range (#1400)

This commit extends Shuffle class with range method which returns the
set of elements that will be updated by Shuffle.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 013 test (#1393)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 23:12:36 +0000 (08:12 +0900)]
[enco] Add caffe 013 test (#1393)

This commit introduces caffe 013 test which includes an average pooling
layer with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support partial shuffling (#1382)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:54:46 +0000 (19:54 +0900)]
[coco] Support partial shuffling (#1382)

Shuffle instruction now uses 'map' instead of 'vector' to store
element transfers between two bags.

This change allows users to encode partial shuffling in coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Implement AvgPool2D decomposition (#1388)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:40:56 +0000 (19:40 +0900)]
[enco] Implement AvgPool2D decomposition (#1388)

With this commit, enco backend now decomposes Static AvgPool2D with
padding into PadF and PaddingExcluded AvgPool2D without padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Initialize BagLink via non-virtual method (#1390)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:37:00 +0000 (19:37 +0900)]
[coco] Initialize BagLink via non-virtual method (#1390)

This commit deprecates virtual get method, and introduces non-virtual
setBagLink method.

This will allows us to use Bag Link inside destructor.

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