박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
Fix comments (#1427)
This commit fixes some puzzling comments in caffegen
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
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>
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>
Not unload plugins when they have already done (#1426)
workaround for bugs: #1300, #1198
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
[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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
Fix build bug: remove conflicting declaration (#1384)
* remove conflicting declaration in interpreter
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
[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>
Add absent layers for mobilenet (#1333)
Add layers in Model IR:
+ batch norm
+ scale
+ dropout
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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>
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>