platform/core/ml/nnfw.git
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>
5 years ago[enco] Symmetrically padded convolution test (#1274)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 01:10:01 +0000 (10:10 +0900)]
[enco] Symmetrically padded convolution test (#1274)

This commit adds a 003 test which includes symmetrically padded
convolution layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoRemove redundant curly brace (#1282)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 18:54:25 +0000 (21:54 +0300)]
Remove redundant curly brace (#1282)

remove redundant curly brace when initialization of cmake variable

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoClosing files in interpreter`s plugin and cpp operations (#1185)
Юрий Новиков/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Fri, 31 Aug 2018 15:33:20 +0000 (18:33 +0300)]
Closing files in interpreter`s plugin and cpp operations (#1185)

Add closing of files in interpreter_plugin.cpp and cpp_operations.def. Also checking for error codes was made.

Signed-off-by: y.novikov <y.novikov@partner.samsung.com>
5 years agoFix build bugs: not enabled target if its dependent targets are unavailable (#1258)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 15:23:29 +0000 (18:23 +0300)]
Fix build bugs: not enabled target if its dependent targets are unavailable (#1258)

Targets for tests won't be built if main targets aren't set

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoNot enable frontend plugins if their dependencies aren't set (#1279)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 15:10:00 +0000 (18:10 +0300)]
Not enable frontend plugins if their dependencies aren't set (#1279)

* frontend plugins won't be enabled if their dependencies aren't set
* added feature to disable command line options. It is needed to
  disable plugin options if plugins aren't available

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoMove Detailed Level Design Documentation to contrib/nnc (#1281)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 14:52:39 +0000 (17:52 +0300)]
Move Detailed Level Design Documentation to contrib/nnc (#1281)

* move rst file
* correct references in file: replace .md by .rst

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoUpdate getting_started document for docker (#1267)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 14:39:09 +0000 (23:39 +0900)]
Update getting_started document for docker (#1267)

Docker build for _nncc_ use multistage-build
However multistage-build require docker 17.05 or higher version
This commit will update this information

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
5 years agoCorrect paths where plugins are to be searched (#1280)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 14:35:12 +0000 (17:35 +0300)]
Correct paths where plugins are to be searched (#1280)

* now it's not necessary to run make install
* now plugins are searched by relative path

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[CaffeProto] Do NOT generate files at top-level (#1273)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 08:35:37 +0000 (17:35 +0900)]
[CaffeProto] Do NOT generate files at top-level (#1273)

CaffeProto package currently places generated protobuf files into the
top-level binary directory.

With this commit, generated protobufe files are inside a directory
dedicated to caffeproto target (external/caffeproto).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Add ReLU operator (#1272)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 08:35:24 +0000 (17:35 +0900)]
[coco] Add ReLU operator (#1272)

This commit introduces ReLU op class which denotes a ReLU op in coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Deliver Conv2D padding values via IR (#1271)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 08:33:39 +0000 (17:33 +0900)]
[enco.caffe] Deliver Conv2D padding values via IR (#1271)

With this commit, enco Caffe frontend now sets Conv2D padding values
correctly in IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.core] Use DefaultVisitor (#1269)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 06:28:35 +0000 (15:28 +0900)]
[enco.core] Use DefaultVisitor (#1269)

The use of Op::Visitor and Instr::Visitor in enco.core enforces us to
update enco whenever a new operator is introduced to coco IR.

To decouple changes on enco from thone on coco, this commit revises
enco core library to use DefaultVisitor instead of Visitor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Read pad from ConvolutionParameter (#1268)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 06:24:30 +0000 (15:24 +0900)]
[enco] Read pad from ConvolutionParameter (#1268)

* [enco] Read pad from ConvolutionParameter

This commit revises ConvolutionSpec to read pad values from
ConvolutionParameter.

Note that 'pad_h' and 'pad_w' parameters are not supported, yet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix typos (stride_h -> pad_h, stride_w -> pad_w)

5 years ago[enco] Set Conv2D padding for ANN Subnet (#1264)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 04:20:43 +0000 (13:20 +0900)]
[enco] Set Conv2D padding for ANN Subnet (#1264)

The current implementation assumes that padding is always 0. With this commit,
enco now sets Conv2D padding based on padding parameters that IR
provides.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add ConvolutionSpec::ifm_shape test (#1266)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 04:20:03 +0000 (13:20 +0900)]
[enco] Add ConvolutionSpec::ifm_shape test (#1266)

This commit extracts repeated tests over ifm_shape as a seperate test.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add symmetrically strided convolution test (#1265)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 04:18:44 +0000 (13:18 +0900)]
[enco] Add symmetrically strided convolution test (#1265)

This commit adds 002 testcase which tests symmetrically strided
convolution, and enables build/inference test.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[core] Remove deprecated PadInfo and StrideInfo (#1263)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 04:16:10 +0000 (13:16 +0900)]
[core] Remove deprecated PadInfo and StrideInfo (#1263)

This commit removes deprecated PadInfo and StrideInfo classes from
nncc.core.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Extract CanonicalChannelAxis (#1259)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 00:56:50 +0000 (09:56 +0900)]
[enco] Extract CanonicalChannelAxis (#1259)

This commit extracts CanonicalChannelAxis class from ConvolutionSpec to
make it reusable from outside.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.caffe] Set Conv2D stride (#1256)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 00:52:43 +0000 (09:52 +0900)]
[enco.caffe] Set Conv2D stride (#1256)

With this commit, enco Caffe frontend now sets strides for Conv2D op
entity.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnop] Use internal PadInfo and StrideInfo (#1260)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 00:29:19 +0000 (09:29 +0900)]
[nnop] Use internal PadInfo and StrideInfo (#1260)

This commit introduces nnop-internal PadInfo and StrideInfo class, and
revises conv method to use these internal classes.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Pass strides to ANN subnet (#1257)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 00:19:07 +0000 (09:19 +0900)]
[enco] Pass strides to ANN subnet (#1257)

This commit passes stride values (specified in Conv2D op) to android NN
sub-network via setOperandValue calls.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Adjust input size for 001 test (#1255)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:49:35 +0000 (17:49 +0900)]
[enco] Adjust input size for 001 test (#1255)

This commit adjusts inputs size of 001 test to reduce test time.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Remove duplicated includes (#1253)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:49:25 +0000 (17:49 +0900)]
[enco] Remove duplicated includes (#1253)

This commit removes duplicated '#include "Normalize.h"' in
Normalize.cpp.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support stride get/set for Conv2D (#1252)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:49:14 +0000 (17:49 +0900)]
[coco] Support stride get/set for Conv2D (#1252)

This commit allows us to get and set stride values for Conv2D operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Convolution Shape inference with stride (#1251)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:33:57 +0000 (17:33 +0900)]
[enco] Convolution Shape inference with stride (#1251)

This commit revises ConvolutionSpec to infer stride values for each
spatial axis, and use these values for OFM shape inference.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Enable inference test on 001 case (#1248)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 07:00:19 +0000 (16:00 +0900)]
[enco] Enable inference test on 001 case (#1248)

This commit enables inference test on 001 (simple convolution) case.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit setInput and setOutput calls (#1246)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 06:48:36 +0000 (15:48 +0900)]
[enco] Emit setInput and setOutput calls (#1246)

With this commit, generated code will includes the call for the
following APIs (if necessary):
 - ANeuralNetworksExecution_setInput
 - ANeuralNetworksExecution_setOutput

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit ANeuralNetworksModel_finish call (#1247)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 06:48:28 +0000 (15:48 +0900)]
[enco] Emit ANeuralNetworksModel_finish call (#1247)

Now, subnet constructor includes ANeuralNetworksModel_finish call.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit identifyInputsAndOutputs call (#1244)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 05:32:19 +0000 (14:32 +0900)]
[enco] Emit identifyInputsAndOutputs call (#1244)

Generated C++ code will invoke ANeuralNetworksModel_identifyInputsAndOutputs
with this commit.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Extract Conv2D class (#1245)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 05:28:56 +0000 (14:28 +0900)]
[coco] Extract Conv2D class (#1245)

This commit extracts the declaration/implementation/test of Conv2D
class into a dedicated header/source/test file.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Identify input/output of ANN subnet (#1243)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 05:28:43 +0000 (14:28 +0900)]
[enco] Identify input/output of ANN subnet (#1243)

This commit revises Split pass to identify input/ouput of android NN
sub-network based on how block and bags are related.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Set weight (kernel/bias) data for ANN subnet (#1242)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 05:28:31 +0000 (14:28 +0900)]
[enco] Set weight (kernel/bias) data for ANN subnet (#1242)

This commit implements weight initializer for android NN subnet inside
Split pass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit addOperation calls (#1240)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 01:52:04 +0000 (10:52 +0900)]
[enco] Emit addOperation calls (#1240)

With this commit, C++ code generated by enco includes addOperation
calls.

Note that the current implementation supports only CONV_2D operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce usage analysis helpers (#1239)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 01:43:57 +0000 (10:43 +0900)]
[enco] Introduce usage analysis helpers (#1239)

* [enco] Introduce usage analysis helpers

This commit introduces several helper functions that allows us to easily
analyze how bags and blocks are related with each other.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Add assert on blk