박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박세희/동작제어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
박종현/동작제어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>
박종현/동작제어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>