박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 10:12:57 +0000 (19:12 +0900)]
[coco] Rename mock-up Bag::Updater (#1575)
Currently, its name is "Update" although it inherits "Bag::Updater".
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:50:05 +0000 (17:50 +0900)]
[coco] Generate reader/accessor per request (#1573)
This commit revises PlainWeightContext to generate kernel
reader/accessor per request.
This allows PlainWeightContext to generate Object-specific reader and
accessor.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:48:52 +0000 (17:48 +0900)]
[coco] Remove ObjectInfo (#1569)
This commit removes all the reference of ObjectInfo from coco IR code
base as ObjectInfo is no longer used.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:48:41 +0000 (17:48 +0900)]
[caffegen] Remove deprecated Fill command (#1567)
* [caffegen] Remove deprecated Fill command
This commit removes deprecated Fill command and related implementations
from caffegen.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix build error
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:47:58 +0000 (17:47 +0900)]
[coco] Introduce GenericFeatureLayout (#1565)
This commit introduces GenericFeatureLayout which is extracted from
FeatureObject. GenericFeatureLayout includes code related with mapping
from index to each Bag element.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Rename target of system test for soft backend (#1574)
* Rename target of system test for soft backend
* replace target name `system_test_soft_backend_cpp_compile` with `nnc_system_test_soft_backend_cpp_compile`
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
* rename target of test executable
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 07:50:53 +0000 (16:50 +0900)]
[nnc] Initialize modelPacked field in TfliteImporter (#1566)
This commit add an initializer for modelPacked filed in TfliteImporter.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 07:12:55 +0000 (16:12 +0900)]
Remove unused empty directories (#1571)
This commit removes the following empty directories under libs:
- frontend
- caffe
- tflite
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 06:44:54 +0000 (15:44 +0900)]
[refNN] Fix possible memory leak (#1563)
In the current implementation, allocated event object will be leaked
if startCompute failed.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 06:29:33 +0000 (15:29 +0900)]
[coco] UseSet in Object (#1564)
With this commit, Object (instead of ObjectInfo) is responsible for
its UseSet management.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 04:21:18 +0000 (13:21 +0900)]
[enco] Do NOT use deprecated Window2D methods in Caffe frontend (#1558)
This commit eliminates the use of deprecated methods in Window2D from
Caffe frontend implementation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 04:21:05 +0000 (13:21 +0900)]
[enco] Do NOT use deprecated Window2D methods in NNAPI backend (#1557)
This commit eliminates the use of deprecated methods in Window2D from
NNAPI backend implementation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 04:20:55 +0000 (13:20 +0900)]
[coco] Remove deprecated users method (#1556)
This commit removes deprecated users method from Object, and revises
related implementations.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 04:20:46 +0000 (13:20 +0900)]
[RefNN] Add missing break in Executor (#1561)
'break' is missing at the end of "ADD" case currently.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 04:20:12 +0000 (13:20 +0900)]
[coco] Mark mutable fields as private (#1560)
This commit marks deps, reads, and updates methods in Bag as private
after renaming.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 04:16:14 +0000 (13:16 +0900)]
[enco] Add caffe 016 test (#1554)
This commit adds caffe 016 test which includes a group convolution layer
(which simulates depthwise convolution).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 02:19:08 +0000 (11:19 +0900)]
Add top-level LICENSE file (#1550)
The purpose of LICENSE is to provide full text of license that the
corresponding source contains only partial and/or link to full text.
LICENSE currently contains Apache License 2.0 which our own sources
and imported reference android NN runtime use.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Import pads from caffe model directly (#1545)
Do not inference paddings in ShapeInference, instead use numbers from model
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 11:26:12 +0000 (20:26 +0900)]
[enco] Android NN DCONV2D operation generation (#1553)
* [enco] Android NN DCONV2D operation generation
With this commit, Android NN IR builder in enco NNAPI backend is now
able to build DCONV2D operation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix build error
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 10:33:55 +0000 (19:33 +0900)]
[enco] Configure convolution group parameter (#1552)
This commit revises enco caffe frontend to update coco IR's group
parameter according to caffe model.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 10:28:45 +0000 (19:28 +0900)]
[coco] Manage Def in Object (#1532)
* [coco] Manage Def in Object
This commit moves Def field and related methods from ObjectInfo into
Object.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update comment
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 09:47:29 +0000 (18:47 +0900)]
[coco] Remove BagInfo (#1536)
This commit removes all the reference of deprecated BagInfo from coco IR
codebase.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 09:42:29 +0000 (18:42 +0900)]
[coco] Introduce Shuffle::size method (#1539)
* [coco] Introduce Shuffle::size method
This commit introduces Shuffle::size method which allows us to get the
number of element-wise transfers without using heavy range method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Check invariant over size() and range()
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 08:18:07 +0000 (17:18 +0900)]
[coco] Use InstrManagerTest fixture for create_UnitF (#1529)
This commit rewrites create_UnitF test using InstrManagerTest
fixture.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 08:17:59 +0000 (17:17 +0900)]
[coco] UseSet for Object (#1528)
This commit revises ObjectInfo to maintain a set of Use(s) for each
object along with a set of Consumer(s).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 08:01:52 +0000 (17:01 +0900)]
[caffegen] Do NOT depend on nncc_foundation (#1548)
This commit replaces all the use of nncc::foundation::make_unique with
stdex::make_unique in order to eliminate nncc_foundation dependency.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 08:01:37 +0000 (17:01 +0900)]
[enco] ANN Op CodeGen (#1547)
This commit extends opcode implementation for DEPTHWISE_CONV_2D op.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 08:01:29 +0000 (17:01 +0900)]
[coco] IR entities-to-Module link (#1546)
With this commit, each IR entity allocated via EntityManager will have a correct
link to a module that it belongs to.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Sep 2018 06:41:57 +0000 (15:41 +0900)]
[enco] Unify Compatiblity Check and ANN IR Builder (#1534)
This commit revises ANNOpBuilder to return Appender for a given
instruction instead of appending it.
This change allows us to unify independent CompatibilityCheck into
ANNOpBuilder.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
feature: add multiple interpreter outputs (#1543)
--res-filename removed redundant
--output-dir used for outputs
--output-node can take multiple values
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Implement batch norm as scale and bias (#1542)
Replace batch norm with scale and bias operations in caffe importer
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Fix naming of soft backend files (#1477)
Replace old_c_style with CamelCase style in pure soft backend file names
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Fix Importer bug (#1541)
Found when testing 1 op models: `Im2Col` Layer uses the convolution parameter, as does
the `Deconvolution` (or `TransposedConvolution` layer). This resolves the issue.
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
Support new type of option value (#1504)
* support `std::vector<std::string>` type for option
* support multiple values for option in command line parser
* write unit test for new functionality
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Add shape correctness check (#1485)
Check that shapes of input tensors are correct in artifact setters
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 10:02:07 +0000 (19:02 +0900)]
[coco] Store size in Bag (#1531)
This commit revises Bag to store its size in it. This is a step toward
Bag/BagInfo unification.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 09:56:25 +0000 (18:56 +0900)]
[coco] Explicit Input/Output link from Bag (#1526)
This commit revises Bag class to maintain explicit Input/Output link (to
make it easy to manipulate).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 09:29:12 +0000 (18:29 +0900)]
[enco] Declare ANNOpBuilder before ANNGroupBuilder (#1524)
As stated in the title, this commit declares (and implements) ANNOpBuilder
before ANNGroupBuilder (to use ANNOpBuilder inside ANNGroupBuilder
later).
This commit includes no change over implementation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 08:13:02 +0000 (17:13 +0900)]
[coco] Do NOT use Object-to-ObjectInfo link (#1527)
Def and Use classes are now able to access the internals of Object
without using Object-to-ObjectInfo link.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 07:38:44 +0000 (16:38 +0900)]
[coco] Do NOT use Op-to-Instr link (#1525)
coco no longer uses Op-to-Instr link as a mean to manage Op-to-Instr
relations.
This commit removes all the use of Op-to-Instr link in coco IR codebase.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 07:35:44 +0000 (16:35 +0900)]
[coco] Use as a friend class of Object (#1523)
This commit declares Use as a friend class of Object, and simplifies the
internal implementation of Use.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 07:16:24 +0000 (16:16 +0900)]
[coco] Return Def instead Producer (#1521)
This commit revises Object::def method to return a pointer to Def
instead of a pointer to its Producer.
This commit also revises all the related implementations and tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 07:04:53 +0000 (16:04 +0900)]
[enco] Introduce DEPTHWISE_CONV_2D (#1520)
This commit extends Android NN IR with DEPTHWISE_CONV_2D operation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Sep 2018 07:04:23 +0000 (16:04 +0900)]
[coco] Manage DepSet/ReadSet/UpdateSet in Bag (#1518)
This commit moves DepSet/ReadSet/UpdateSet in BagInto into Bag. This is
the first step to unify Bag and BagInfo class.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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)
박종현/동작제어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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
[nnc] Documentation for soft backend (#1237)
Added doxygen documentation for soft backend
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Support Split operation in caffe frontend (#1475)
Support Split operation in caffe importer
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Implement Passes in nnc (#1474)
* implement passes system
* remove plugins
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
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>
[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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>