platform/core/ml/nnfw.git
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>
5 years ago[enco] Extend ANN IR CodeGen to support Pad op (#1391)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:36:43 +0000 (19:36 +0900)]
[enco] Extend ANN IR CodeGen to support Pad op (#1391)

This commit extends ANN IR CodeGen to support Pad op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build ANN IR for PadF op (#1392)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:36:26 +0000 (19:36 +0900)]
[enco] Build ANN IR for PadF op (#1392)

This commit extends ANN IR builder to support PadF op.

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

This commit extends ANN IR to support Pad op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Support INT32 tensor type (#1389)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:14:27 +0000 (19:14 +0900)]
[enco] Support INT32 tensor type (#1389)

This commit extends ANN CodeGen to properly declare a tensor operand of
INT32 type.

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

ANEURALNETWORKS_PAD tag is currently missing in "NeuralNetworks.h".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoFix build bug: remove conflicting declaration (#1384)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 08:24:14 +0000 (11:24 +0300)]
Fix build bug: remove conflicting declaration (#1384)

* remove conflicting declaration in interpreter

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoAdd tracking of error code (#1067)
Юрий Новиков/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Thu, 6 Sep 2018 08:02:31 +0000 (11:02 +0300)]
Add tracking of error code (#1067)

Return value of a functions 'fstat' and 'fseek' is not checked.
The return value may indicate error code.

Signed-off-by: y.novikov <y.novikov@partner.samsung.com>
5 years ago[coco] Introduce PadF op (#1381)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 06:43:16 +0000 (15:43 +0900)]
[coco] Introduce PadF op (#1381)

This commit introduces PadF op, and extends OpManager to support PadF
construction.

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

This commit introduces caffe 012 test which includes a MAX pooling layer
with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Correctly set ANN MaxPool2D padding (#1379)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 05:37:58 +0000 (14:37 +0900)]
[enco] Correctly set ANN MaxPool2D padding (#1379)

This commit revises ANN IR builder to use padding configuration stored
in MaxPool2D op (instead of hard-coded ones)

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build IR from Max pooling layer with padding (#1378)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 05:37:46 +0000 (14:37 +0900)]
[enco] Build IR from Max pooling layer with padding (#1378)

This commit revises enco caffe frontend to update padding on MaxPool2D
op with the padding values from pooling layer specification.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build ANN IR for AvgPool2D with padding (#1377)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 05:37:34 +0000 (14:37 +0900)]
[enco] Build ANN IR for AvgPool2D with padding (#1377)

This commit enables ANN IR build for AvgPool2D with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce padding-related members to MaxPool2D (#1376)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 04:39:05 +0000 (13:39 +0900)]
[coco] Introduce padding-related members to MaxPool2D (#1376)

This commit introduces padding-related members to MaxPool2D class to
allow frontend to deliver padding information to backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove deprecated Shuffle::at (#1375)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 04:38:49 +0000 (13:38 +0900)]
[coco] Remove deprecated Shuffle::at (#1375)

This commit removes deprecated Shuffle::at method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build IR from Average Pooling layers with padding (#1373)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 04:38:36 +0000 (13:38 +0900)]
[enco] Build IR from Average Pooling layers with padding (#1373)

This commit extends enco caffe frontend to support coco IR build on
average pooling layers with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Initial AvgPoolRewritePass implementation (#1374)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 02:58:17 +0000 (11:58 +0900)]
[enco] Initial AvgPoolRewritePass implementation (#1374)

This commit introduces the initial implementation of AvgPoolRewritePass
which support only simple case (Static divisor with empty padding).

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

This commit adds caffe 011 test which includes an average pooling layer
with stride.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Use Shuffle::insert instead of Shuffle::at (#1372)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 02:27:08 +0000 (11:27 +0900)]
[enco] Use Shuffle::insert instead of Shuffle::at (#1372)

This commit replaces all the use of deprecated Shuffle::at with
Shuffle::insert.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Instr::dispose (#1370)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 01:40:25 +0000 (10:40 +0900)]
[coco] Introduce Instr::dispose (#1370)

This commit intorudces dispose method to Instr class, which allows users
to request each instruction to release IR entities that it internally manages.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce divisor-related members in AvgPool2D (#1371)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 01:32:33 +0000 (10:32 +0900)]
[coco] Introduce divisor-related members in AvgPool2D (#1371)

This commit extends AvgPool2D with divisor-related members to allow
frontend to deliver diviosr-related information to backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[RefNN] Import PAD op implementation (#1351)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 01:32:21 +0000 (10:32 +0900)]
[RefNN] Import PAD op implementation (#1351)

This commit imports PAD op implementation in AOSP (with small cleanup).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Override dispose in MaxPool2D (#1367)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 01:32:09 +0000 (10:32 +0900)]
[coco] Override dispose in MaxPool2D (#1367)

This commit overrides dispose in MaxPool2D with empty body (to convert
dispose method in Op as a pure virtual method).

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

This commit introduces destroy method into OpManager class, which allows
users to destruct Op instances.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Shape inference on Pooling layers with Padding (#1354)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 01:04:52 +0000 (10:04 +0900)]
[enco] Shape inference on Pooling layers with Padding (#1354)

This commit revises PoolingSpec to infer the ouput shape of pooling
layers with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce pad in AvgPool2D (#1353)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 01:04:22 +0000 (10:04 +0900)]
[coco] Introduce pad in AvgPool2D (#1353)

This commit introduces padding-related members into AvgPool2D class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Release kernel on Conv2D dispose (#1366)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 00:59:28 +0000 (09:59 +0900)]
[coco] Release kernel on Conv2D dispose (#1366)

This commit overrides dispose method for Conv2D. On dispose call, Conv2D
will release its kernel object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce dummy dispose to AvgPool2D (#1368)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 00:59:20 +0000 (09:59 +0900)]
[coco] Introduce dummy dispose to AvgPool2D (#1368)

This commit introduces dummy (empty) dispose method to AvgPool2D.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce insert method in Shuffle (#1363)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 00:52:58 +0000 (09:52 +0900)]
[coco] Introduce insert method in Shuffle (#1363)

* [coco] Introduce insert method in Shuffle

This commit introduces insert method in Shuffle instruction as the first
step toward partial shuffling support.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update _content properly inside insert

5 years ago[coco] Extract UnitF to a seperate file (#1365)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 00:52:42 +0000 (09:52 +0900)]
[coco] Extract UnitF to a seperate file (#1365)

This commit extracts the declaration and implementation of UnitF into a
seperate file.

Note that test code is not yet extracted.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Op dispose (#1364)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 00:08:58 +0000 (09:08 +0900)]
[coco] Introduce Op dispose (#1364)

This commit introduces Op::dispose method which allows users to request
each operation to release resources before destruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Fix build break on clang 7 (#1362)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 00:02:39 +0000 (09:02 +0900)]
[enco] Fix build break on clang 7 (#1362)

This commit includes 'functional' in Frontend.cpp to fix build break on
clang 7.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc]Visitor improvement Pure Virtual Methods to Virtual (#1303)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Wed, 5 Sep 2018 18:06:05 +0000 (21:06 +0300)]
[nnc]Visitor improvement Pure Virtual Methods to Virtual (#1303)

changed visitor's methods from pure virtual to virtual

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years agoAdd absent layers for mobilenet (#1333)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 5 Sep 2018 18:02:19 +0000 (21:02 +0300)]
Add absent layers for mobilenet (#1333)

Add layers in Model IR:
+ batch norm
+ scale
+ dropout

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoFix soft backend unittest (#1332)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 5 Sep 2018 13:33:05 +0000 (16:33 +0300)]
Fix soft backend unittest (#1332)

Disable soft backend ASSERT_DEATH test in case of release build,
this test is not applicable for release build.

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoRefactor soft backend (#1305)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 5 Sep 2018 12:58:26 +0000 (15:58 +0300)]
Refactor soft backend (#1305)

Remove redundant soft backend classes
Move all C++ code snippets to code_snippet directory
Generate headers from snippets to generated directory

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoUpdate revision history in DLD document and add GPU backend item (#1355)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 12:57:34 +0000 (15:57 +0300)]
Update revision history in DLD document and add GPU backend item (#1355)

This commit adds item about GPU backend and updates revision history of DLD

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
5 years agoUpdate HLD by adding new revision info (#1356)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 12:55:05 +0000 (15:55 +0300)]
Update HLD by adding new revision info (#1356)

This commit adds new revision history line "add IR description"

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
5 years ago[enco] Set AvgPool2D stride on ANN subnet construction (#1349)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 09:06:26 +0000 (18:06 +0900)]
[enco] Set AvgPool2D stride on ANN subnet construction (#1349)

With this commit, ANN subnet builder uses stride values stored in coco IR to
set strides of ANN AvgPool2D operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove unused onUpdate hook (#1347)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 08:15:00 +0000 (17:15 +0900)]
[coco] Remove unused onUpdate hook (#1347)

* [coco] Remove unused onUpdate hook

This commit removes unused onUpdate hook from Object.

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

5 years ago[enco.caffe] Set AvgPool2D stride (#1346)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 07:36:33 +0000 (16:36 +0900)]
[enco.caffe] Set AvgPool2D stride (#1346)

With this commit, enco caffe frontend now sets the stride of AvgPool2D
using a value specified in a given caffe model (instead of hard-coded one).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 010 testcase (#1345)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 07:24:44 +0000 (16:24 +0900)]
[enco] Add caffe 010 testcase (#1345)

This commit adds caffe 010 testcase which includes a simple 3x3
average pooling layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Rewrite constant methods using concat (#1337)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 06:19:51 +0000 (15:19 +0900)]
[enco] Rewrite constant methods using concat (#1337)

Currently, constant methods in Global internally implements string concat
operation.

This commit revises these methods to reuse existing concat method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build AvgPool2D op from caffe model (#1341)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 06:19:38 +0000 (15:19 +0900)]
[enco] Build AvgPool2D op from caffe model (#1341)

With this commit, enco caffe frontend is now able to build a simple
AvgPool2D op from caffe model.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce stride-related members in AvgPool2D (#1344)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 06:19:23 +0000 (15:19 +0900)]
[coco] Introduce stride-related members in AvgPool2D (#1344)

This commit introduces stride methods and related _stride field in
AvgPool2D class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Decide pooling method from spec (#1339)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 04:09:57 +0000 (13:09 +0900)]
[enco] Decide pooling method from spec (#1339)

This commit revises PoolingSpec to correctly decide pooling method from
a model specification given as prototxt.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Generate code for AvgPool2D op (#1340)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 04:07:33 +0000 (13:07 +0900)]
[enco] Generate code for AvgPool2D op (#1340)

This commit supports code generation on AvgPool2D op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Construct AvgPool2D via OpManager (#1336)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 01:05:50 +0000 (10:05 +0900)]
[coco] Construct AvgPool2D via OpManager (#1336)

This commit implements OpManager::create<AvgPool2D> method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nncc.core] Remove unused tensor formatting classes (#1335)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 00:31:55 +0000 (09:31 +0900)]
[nncc.core] Remove unused tensor formatting classes (#1335)

This commit removes unused tensor formatting classes from nnnc core
library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Correctly enumerate network outputs (#1327)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 00:11:06 +0000 (09:11 +0900)]
[enco.caffe] Correctly enumerate network outputs (#1327)

With this commit, caffe frontend now correctly enumerates network
outputs.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce AvgPool2D class (#1329)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 00:06:41 +0000 (09:06 +0900)]
[coco] Introduce AvgPool2D class (#1329)

This commit introduces AvgPool2D class which denotes 2D average pooling
operation in coco IR.

Note that the current implementation allows users to specify window
size.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoTest compilation of artifact (#1119)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 4 Sep 2018 15:06:23 +0000 (18:06 +0300)]
Test compilation of artifact (#1119)

Adds test to check that backend is able to produce compilable files

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoGenerate unified setter and getter (#1284)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 4 Sep 2018 14:36:05 +0000 (17:36 +0300)]
Generate unified setter and getter (#1284)

Generate unified setter and getter for single input/output nets to artifact.
This setter and getter has fixed declaration for all nets with single input and output

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoFix arm c++ artifact generation (#1285)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 4 Sep 2018 14:09:19 +0000 (17:09 +0300)]
Fix arm c++ artifact generation (#1285)

+ Fix alignment of serialized data
+ Fix build with NEON enabled
+ Fix -Wall warnings

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[enco] Add caffe 008 test (#1324)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 08:41:14 +0000 (17:41 +0900)]
[enco] Add caffe 008 test (#1324)

This commit introduces caffe 008 testcase which checks whether enco can
correctly compile a simple caffe network that consists of a single Max
pooling layer with stride.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Set MaxPool2D op stride values (#1323)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 08:22:06 +0000 (17:22 +0900)]
[enco.caffe] Set MaxPool2D op stride values (#1323)

With this commit, Caffe frontend now correctly sets stride of
MaxPool2D operation using the values inferred from caffe model.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Configure ANN subnet MaxPool2D strides (#1321)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 07:41:31 +0000 (16:41 +0900)]
[enco] Configure ANN subnet MaxPool2D strides (#1321)

With this commit, enco now sets stride values for MaxPool2D op in android
NN subnet from stride values stored in coco::MaxPool2D entity.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Infer the output shape of Pooling with stride (#1322)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 07:41:11 +0000 (16:41 +0900)]
[enco.caffe] Infer the output shape of Pooling with stride (#1322)

With this commit, PoolingSpec is now able to infer the output shape of
Pooling layer with stride values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 007 test (#1319)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 07:02:00 +0000 (16:02 +0900)]
[enco] Add caffe 007 test (#1319)

This commit adds caffe 007 test which consists of a simple Max pooling
layer without padding and stride.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Record stride configuration in MaxPool2D (#1320)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 07:01:51 +0000 (16:01 +0900)]
[coco] Record stride configuration in MaxPool2D (#1320)

This commit introduces a field and methods related with stride into
MaxPool2D class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Initial MaxPool2D codegen support (#1318)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 05:00:49 +0000 (14:00 +0900)]
[enco] Initial MaxPool2D codegen support (#1318)

This commit implements codegen routines for MaxPool2D without
padding/stride.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Remove unused num_output field (#1317)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 04:55:58 +0000 (13:55 +0900)]
[enco] Remove unused num_output field (#1317)

This commit removes unused num_output field from ConvolutionSpec class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Correct copy & move constructor (#1316)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 04:55:50 +0000 (13:55 +0900)]
[coco] Correct copy & move constructor (#1316)

This commit fixes copy&paste error in MaxPool2D class declaration.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Initial pooling layer support (#1314)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 04:49:29 +0000 (13:49 +0900)]
[enco.caffe] Initial pooling layer support (#1314)

This commit presents the initial implementation of pooling layer
supporting routine.

The current implementation supports only simple Max pooling (w/o padding
and stride).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Initial PoolingSpec implementation (#1312)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 02:20:15 +0000 (11:20 +0900)]
[enco.caffe] Initial PoolingSpec implementation (#1312)

This commit submits the initial implementation of PoolingSpec.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Configurable MaxPool2D window size (#1313)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 02:18:00 +0000 (11:18 +0900)]
[coco] Configurable MaxPool2D window size (#1313)

This commit introduces a field and methods related with window (=
receptive field) configuration.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Extract string-manipulating rotuines (#1311)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 01:51:13 +0000 (10:51 +0900)]
[enco] Extract string-manipulating rotuines (#1311)

This commit extracts concat method (for string manipulation) from
Subnet.cpp, and introduces String.h for future reuse.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Create MaxPool2D with OpManager (#1310)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 01:25:53 +0000 (10:25 +0900)]
[coco] Create MaxPool2D with OpManager (#1310)

This commit implements 'create' method for 'MaxPool2D' op in
'OpManager'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce MaxPool2D class (#1307)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 00:26:47 +0000 (09:26 +0900)]
[coco] Introduce MaxPool2D class (#1307)

This commit introduces MaxPool2D class which allows coco IR to describe
MAX pooling over feature maps.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add 006 test (#1306)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 00:11:16 +0000 (09:11 +0900)]
[enco] Add 006 test (#1306)

This commit adds 006 testcase which includes a simple ReLU layer in it.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build ANN ReLU operator (#1298)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 23:24:52 +0000 (08:24 +0900)]
[enco] Build ANN ReLU operator (#1298)

This commit revises ANNGroupBuilder and ANNOpBuilder to recognize ReLU
operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit ReLU opcode (#1297)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 23:24:40 +0000 (08:24 +0900)]
[enco] Emit ReLU opcode (#1297)

enco is now able to generate ANeuralNetworks_addOperation call for
RELU operator.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Suppress caffe test glog messages (#1287)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 3 Sep 2018 23:24:18 +0000 (08:24 +0900)]
[enco] Suppress caffe test glog messages (#1287)

This will suppress enco caffe test glog messages while in build steps.
Error and Fatal will be shown.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoSupport for grouped convolution for caffe (#1209)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Mon, 3 Sep 2018 19:34:14 +0000 (22:34 +0300)]
Support for grouped convolution for caffe (#1209)

Adds support for grouped convolution in caffe: fix kernel tensor on shape inference

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoUpdate HLD, SRS, and DLD documentation (#1304)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 18:46:13 +0000 (21:46 +0300)]
Update HLD, SRS, and DLD documentation (#1304)

* include content from rst file into one
* remove redundant rst files
* correct reference to image

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoUpdate DLD by adding of ModelIR, C++ backend, Caffe backend, CLI description (#1286)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 18:06:14 +0000 (21:06 +0300)]
Update DLD by adding of ModelIR, C++ backend, Caffe backend, CLI  description (#1286)

Added description of:
  * model IR
  * soft backend
  * caffe importer
  * command line interface

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[coco] Introduce Window2D class (#1296)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 05:47:35 +0000 (14:47 +0900)]
[coco] Introduce Window2D class (#1296)

This commit introduces Window2D class which denotes the size of
receptive field that some spatial operator (such as Pooling) uses.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce ReLU op to ANN IR (#1294)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 05:47:22 +0000 (14:47 +0900)]
[enco] Introduce ReLU op to ANN IR (#1294)

This commit introduces RELU tag to ann::Operation::Code enumeration.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Genernally normalize feature layout (#1293)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 05:47:11 +0000 (14:47 +0900)]
[enco] Genernally normalize feature layout (#1293)

The current implementation of NormalizePass applies feature layout
normalization only for Conv2D operation.

With this commit, NormalizePass normalizes feature layout for general
feature operation (including ReLU).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Build IR from ReLU layer (#1292)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 05:47:02 +0000 (14:47 +0900)]
[enco.caffe] Build IR from ReLU layer (#1292)

This commit implements the initial implementation of IR builder for ReLU
layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add kernel_h/kernel_w convolution test (#1291)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 02:32:31 +0000 (11:32 +0900)]
[enco] Add kernel_h/kernel_w convolution test (#1291)

This commit adds caffe 005 test which includes a convolution layer that
specifies its kernel size using kernel_h and kernel_w, and enables
build/inference test.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Extend OpManager for ReLU op (#1278)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 02:03:55 +0000 (11:03 +0900)]
[coco] Extend OpManager for ReLU op (#1278)

This commit implements create<ReLU> method, which allows us to create
ReLU instances via OpManager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[refNN] Support ReLU operator (#1290)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 01:56:15 +0000 (10:56 +0900)]
[refNN] Support ReLU operator (#1290)

This commit imports ReLU operator-related implementations into the
reference NN runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Support kernel_h/kernel_w paramaters (#1289)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 01:38:07 +0000 (10:38 +0900)]
[enco.caffe] Support kernel_h/kernel_w paramaters (#1289)

With this commit, ConvolutionSpec is now able to recoginize kernel_h and
kernel_w parameters.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Asymmetrically padded convolution test (#1276)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 01:10:48 +0000 (10:10 +0900)]
[enco] Asymmetrically padded convolution test (#1276)

This commit adds 004 test which includes asymmetrically padded
convolution layer, and enables build/inference test.

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