platform/core/ml/nnfw.git
6 years ago[enco] Add caffe 018 test (#1897)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Oct 2018 07:17:55 +0000 (16:17 +0900)]
[enco] Add caffe 018 test (#1897)

This commit introduces caffe 018 test which includes a single
element-wise multiplication layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Use C++ standard iostream for in/out (#1881)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Oct 2018 02:40:34 +0000 (11:40 +0900)]
[caffegen] Use C++ standard iostream for in/out (#1881)

This commit rewrites I/O routines in caffegen to use C++ standard
iostream to avoid possible portability issues.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoGenerate protobuf code upon schema change (#1890)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 23:58:11 +0000 (08:58 +0900)]
Generate protobuf code upon schema change (#1890)

The current implementation of Protobuf_Generate does not refresh
the header and source files even though there is a change in protobuf
specification.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco.caffe] Support Eltwise Prod Layer (#1884)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 23:52:18 +0000 (08:52 +0900)]
[enco.caffe] Support Eltwise Prod Layer (#1884)

* [enco.caffe] Support Eltwise Prod Layer

With this commit, enco caffe frontend is now able to build coco IR even
in the presence of a Eltwise Prod layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use mul instead of add

6 years ago[coco] Remove unnecessary indentation (#1889)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 06:50:07 +0000 (15:50 +0900)]
[coco] Remove unnecessary indentation (#1889)

This commit removes unnecessary indentation which is left to reduce code
changes during refactoring.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Use -pthread (#1888)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 06:49:18 +0000 (15:49 +0900)]
[nnkit] Use -pthread (#1888)

* [nnkit] Use -pthread

This commit updates CMakeLists.txt to prefer -pthread (which affects
both compilation and linking) to -lpthread (which affects only linking)

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

6 years ago[coco] Rename local variables in Def test (#1887)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 05:18:12 +0000 (14:18 +0900)]
[coco] Rename local variables in Def test (#1887)

Def test current includes several local variables whose name is
counter-intuitive.

This commit renames these variables in order to make it easy to
understand the test.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Build ANN Mul operation from coco IR (#1877)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 00:39:44 +0000 (09:39 +0900)]
[enco] Build ANN Mul operation from coco IR (#1877)

With this commit, enco NNAPI backend is now able to build ANN Mul
operation from coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnc] Fix core CMakeLists (#1883)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 16 Oct 2018 10:59:24 +0000 (13:59 +0300)]
[nnc] Fix core CMakeLists (#1883)

This commit should fix errors when building nnc_core without protobuf.

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[enco.caffe] Construct coco IR with reducer (#1876)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 09:38:52 +0000 (18:38 +0900)]
[enco.caffe] Construct coco IR with reducer (#1876)

This commit revises coco IR build routine for Eltwise layer to be
extensible (in terms of supported operation).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Rename ::mock::Def (#1878)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 07:22:01 +0000 (16:22 +0900)]
[coco] Rename ::mock::Def (#1878)

::mock::Def inherits coco::Producer (not coco::Def).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Remove ID from ANNBinder (#1882)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 07:10:46 +0000 (16:10 +0900)]
[enco] Remove ID from ANNBinder (#1882)

There is no code (except its testcase) that uses ID assigned to each
ANNBinder.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Link thread libraries (#1880)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 07:10:32 +0000 (16:10 +0900)]
[nnkit] Link thread libraries (#1880)

This commit links thread libraries to nnkit_support_backend to properly
support multi-threaded backends (such as a backend based on ARMCompute NEON).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Support elementwise multiplication (#1875)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 02:02:48 +0000 (11:02 +0900)]
[coco] Support elementwise multiplication (#1875)

With this commit, coco IR is now able to express elementwise
multiplication.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Extend ANN IR with Mul op (#1874)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 02:02:35 +0000 (11:02 +0900)]
[enco] Extend ANN IR with Mul op (#1874)

With this commit, users are allowed to create ANEURALNETWORKS_MUL op
on top of ANN IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Add license notice (#1838)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 01:43:51 +0000 (10:43 +0900)]
[coco.generic] Add license notice (#1838)

This commit appends license notice for the sources and headers of
coco generic.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce BinaryOp trait (#1873)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 01:35:52 +0000 (10:35 +0900)]
[coco] Introduce BinaryOp trait (#1873)

This commit extracts BinaryOp trait from Add, and simplifies the
declaration and implementation of Add class using this BinaryOp trait.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[refNN] Import Element-wise Mul operator (#1872)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 01:20:40 +0000 (10:20 +0900)]
[refNN] Import Element-wise Mul operator (#1872)

This commit imports the implementation of ANEURALNETWORKS_MUL operator
from reference android NN runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Fix iterate_constant_block test (#1871)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 00:37:50 +0000 (09:37 +0900)]
[coco] Fix iterate_constant_block test (#1871)

The name of iterate_constant_block test implies that this test SHOULD
iterate instructions in a constant block, but the current implementation
does not do that.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFixed caffe PassException what method, minor fixes (#1867)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 15 Oct 2018 19:01:38 +0000 (22:01 +0300)]
Fixed caffe PassException what method, minor fixes (#1867)

* Fixed caffe PassException method
* Fixed sasha.caffemodel
* Made caffe op-checker methods non static

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years ago[nnc] Eliminated visitors from caffe frontend (#1788)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 15 Oct 2018 17:12:17 +0000 (20:12 +0300)]
[nnc] Eliminated visitors from caffe frontend (#1788)

* Replace visitors with iterators in caffe frontend
* Collect unsupported layers
* Fix coding style
* Remove dump visitor utils

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years agoRefactor PassException and DriverException classes (#1843)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 15 Oct 2018 16:15:05 +0000 (19:15 +0300)]
Refactor PassException and DriverException classes (#1843)

* derive DriverException from std::exception
* replace methods `reason` with `what`
* add unnamed namespace in unit test for PassException
* refactor according to coding style

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
6 years agoDelete nodes allocated in unit test. (#1855)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 15 Oct 2018 10:38:56 +0000 (13:38 +0300)]
Delete nodes allocated in unit test. (#1855)

These nodes caused memory leaks detected by ASan and valgrind.

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[enco] Introduce residual test (#1863)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 09:32:39 +0000 (18:32 +0900)]
[enco] Introduce residual test (#1863)

This commit introduces 'residual' test which includes a part of ResNet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce 017 test (#1862)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 07:57:45 +0000 (16:57 +0900)]
[enco] Introduce 017 test (#1862)

This commit introduces caffe 017 test which includes one element-wise
add layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco.caffe] Build coco IR from Eltwise Sum layer (#1861)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 07:33:14 +0000 (16:33 +0900)]
[enco.caffe] Build coco IR from Eltwise Sum layer (#1861)

With this commit, enco caffe frontend is now able to build coco IR from
Eltwise Sum layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Construct ANN Add op from coco IR (#1860)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 06:40:50 +0000 (15:40 +0900)]
[enco] Construct ANN Add op from coco IR (#1860)

This commit extends Split pass to construct an ANN "Add" op from a
"Eval" instruction with a Add operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Support ANEURALNETWORKS_ADD in ANN IR (#1859)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 03:08:02 +0000 (12:08 +0900)]
[enco] Support ANEURALNETWORKS_ADD in ANN IR (#1859)

This commit extends ANN IR to support ANEURALNETWORKS_ADD operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Use Conv2D kernel data without modification (#1858)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 02:22:58 +0000 (11:22 +0900)]
[enco] Use Conv2D kernel data without modification (#1858)

This commit revises Split pass to use Conv2D kernel data that coco::Data
provides without modification (to reduce peak memory consumption).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Generate ANN Opcode from def (#1857)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 02:22:46 +0000 (11:22 +0900)]
[enco] Generate ANN Opcode from def (#1857)

This commit introduces Operation.def which enumerates Android NN operation
supported in ANN IR, and rewrites ann::IR::Operation:::Code declaration
using Operation.def

Besides, OperationDecl::opcode method is now generated from this def
file with this commit.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce UnaryOp trait (#1853)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:56:19 +0000 (16:56 +0900)]
[coco] Introduce UnaryOp trait (#1853)

This commit introduces UnaryOp traits, and simplifies the implementation
and declaration of several existing operation classes, such as ReLU and
PadF.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add file comment on Op.h (#1852)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:56:02 +0000 (16:56 +0900)]
[coco] Add file comment on Op.h (#1852)

This commit add file-level comment on Op.h.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove unused FeatureInstr (#1851)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:55:52 +0000 (16:55 +0900)]
[coco] Remove unused FeatureInstr (#1851)

This commit removes codes related with FeatureInstr from coco.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce Add Op (#1850)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:46:50 +0000 (16:46 +0900)]
[coco] Introduce Add Op (#1850)

This commit extends coco IR with element-wise Add operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce Ops.h (#1849)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 03:50:17 +0000 (12:50 +0900)]
[coco] Introduce Ops.h (#1849)

This commit introduces Ops.h which includes all Op class declarations.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce factory method for GenericKernelLayout (#1848)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 01:59:34 +0000 (10:59 +0900)]
[coco] Introduce factory method for GenericKernelLayout (#1848)

This commit introduces factory method (create) for GenericKernelLayout,
and enforces users to construct it only via factory method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduces Instrs.h (#1847)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 01:53:16 +0000 (10:53 +0900)]
[coco] Introduces Instrs.h (#1847)

This commit introduces Instrs.h which includes all of instruction
classes in coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Enforce NHWC layout for Conv2D kernels (#1846)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 01:37:47 +0000 (10:37 +0900)]
[enco] Enforce NHWC layout for Conv2D kernels (#1846)

With this commit, Data Layout Conversion pass enforces each Conv2D op
uses a kernel of NHWC layout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Support raw-data access (#1839)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 00:37:26 +0000 (09:37 +0900)]
[coco.generic] Support raw-data access (#1839)

* [coco.generic] Support raw-data access

This commit introduces weight method in PlainWeightContext which supports
raw-data access.

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

6 years ago[coco] Generate Instr create methods from list (#1841)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 00:37:13 +0000 (09:37 +0900)]
[coco] Generate Instr create methods from list (#1841)

With this commit, create methods in InstrManager are generated from
Instr.lst.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] AvgPoolLowering as a function (#1840)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 00:37:01 +0000 (09:37 +0900)]
[enco] AvgPoolLowering as a function (#1840)

This commit rewrites AvgPoolLowering as a function for consistency.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove ObjectList.h (#1837)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 00:24:36 +0000 (09:24 +0900)]
[coco] Remove ObjectList.h (#1837)

There is no code that includes this header.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove deprecated UnitF (#1835)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 07:43:41 +0000 (16:43 +0900)]
[coco] Remove deprecated UnitF (#1835)

This commit removes deprecated UnitF instruction from coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Remove UnitF reference (#1834)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 07:05:51 +0000 (16:05 +0900)]
[enco] Remove UnitF reference (#1834)

As the first step to deprecate UnitF in coco IR, this commit removes all
the reference of UnitF from NNAPI backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco.caffe] Emit Eval upon Pooling layers (#1833)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 05:51:38 +0000 (14:51 +0900)]
[enco.caffe] Emit Eval upon Pooling layers (#1833)

With this commit, enco caffe frontend now emits Eval instruction for
Pooling layers.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Build ANN IR from Pooling Op in Eval (#1831)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 05:31:12 +0000 (14:31 +0900)]
[enco] Build ANN IR from Pooling Op in Eval (#1831)

* [enco] Build ANN IR from Pooling Op in Eval

With this commit, ANNOpBuilder is now able to build ANN IR from Pooling
Op inside Eval instruction.

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

6 years ago[enco.caffe] Emit Eval instruction for ReLU (#1832)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 05:28:04 +0000 (14:28 +0900)]
[enco.caffe] Emit Eval instruction for ReLU (#1832)

With this commit, caffe frontend now emits Eval instruction (instead of
UnitF) for ReLU layers.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Lower AvgPool2D op in Eval instruction (#1830)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 05:12:27 +0000 (14:12 +0900)]
[enco] Lower AvgPool2D op in Eval instruction (#1830)

This commit extends AvgPool lowering pass to lower AvgPool2D op even
when it resides in Eval instruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Generate Pad Op tree for AvgPool lowering (#1829)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 04:56:25 +0000 (13:56 +0900)]
[enco] Generate Pad Op tree for AvgPool lowering (#1829)

This commit revises AvgPool lowering pass to generate Eval instruction
with Pad Op tree (instead of UnitF).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoRelocate nnkit backends for nnsuite conv model (#1828)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 04:48:54 +0000 (13:48 +0900)]
Relocate nnkit backends for nnsuite conv model (#1828)

Now, the implementation of nnkit backends for nnsuite
conv model lives in nnsuite directory (not in nnkit directory).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Build ANN IR from PadF Op tree (#1827)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 04:44:24 +0000 (13:44 +0900)]
[enco] Build ANN IR from PadF Op tree (#1827)

With this commit, ANNOpBuilder is now able to build ANN IR from PadF Op
tree.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Support weight data release (#1826)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 03:59:43 +0000 (12:59 +0900)]
[coco.generic] Support weight data release (#1826)

This commit introduces 'release' method which allows users to
deallocated a memory chunk for weight data.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce PadInstrBuilder (#1825)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 03:59:29 +0000 (12:59 +0900)]
[enco] Introduce PadInstrBuilder (#1825)

This commit extracts PadF instruction generation routine as
PadInstrBuilder class, and simplifies AvgPoolRewritePass using it.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNPadFAppender (#1824)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 03:54:29 +0000 (12:54 +0900)]
[enco] Introduce ANNPadFAppender (#1824)

This commit extracts Pad Op generation code as ANNPadFAppender.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove deprecated DefaultVisitor and DefaultMutator (#1821)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 01:31:18 +0000 (10:31 +0900)]
[coco] Remove deprecated DefaultVisitor and DefaultMutator (#1821)

This commit removes derprecated DefaultVsitor and DefaultMutator for
Instr.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNAvgPool2DAppender (#1820)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 01:12:56 +0000 (10:12 +0900)]
[enco] Introduce ANNAvgPool2DAppender (#1820)

This commit extracts AvgPool2D Op generation code as
ANNAvgPool2DAppender.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNMaxPool2DAppender (#1818)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:44:04 +0000 (09:44 +0900)]
[enco] Introduce ANNMaxPool2DAppender (#1818)

This commit extracts MaxPool2D Op generation code as
ANNMaxPool2DAppender.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] PadF as a Op tree node (#1817)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:43:54 +0000 (09:43 +0900)]
[coco] PadF as a Op tree node (#1817)

With this commit, PadF may serve as a node of Op tree.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] AvgPool2D as a Op tree node (#1816)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:43:44 +0000 (09:43 +0900)]
[coco] AvgPool2D as a Op tree node (#1816)

With this commit, AvgPool2D may serve as a node of Op tree.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Introduce allocated method (#1815)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:42:16 +0000 (09:42 +0900)]
[coco.generic] Introduce allocated method (#1815)

This commit introduces Data::allocated method which allows users to
check whether a bag has a corresponding weight.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove unused BlobID (#1814)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:39:33 +0000 (09:39 +0900)]
[coco] Remove unused BlobID (#1814)

BlobID has no referenced in coco IR codebase.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Compile ReLU op in Eval instruction (#1813)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:38:32 +0000 (09:38 +0900)]
[enco] Compile ReLU op in Eval instruction (#1813)

With this commit, ANNOpBuild is now able to compile a simple ReLU op in
Eval instruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] MaxPool2D Op Tree (#1812)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Oct 2018 00:37:31 +0000 (09:37 +0900)]
[coco] MaxPool2D Op Tree (#1812)

With this commit, MaxPool2D may serve as a node of Op tree.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Do NOT use deprecated Instr::DefaultVisitor (#1811)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 10:20:10 +0000 (19:20 +0900)]
[enco] Do NOT use deprecated Instr::DefaultVisitor (#1811)

This commit removes all the use of deprecated Instr::DefaultVisitor
inside enco NNAPI backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Manage Bag-to-Data link in BlobContext (#1806)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 10:17:44 +0000 (19:17 +0900)]
[coco.generic] Manage Bag-to-Data link in BlobContext (#1806)

The current implementation manages Object-to-Data link inside
PlainWeightContextImpl, which violates one of the the main concepts of
coco IR:
 - Object is just a view over Bag.

With this commit, BlobContext is now responsible for Bag-to-Data link
management, which is aligned with the concept of Bag and Object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Rename Rewrite as AvgPoolLowering (#1809)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 10:17:33 +0000 (19:17 +0900)]
[enco] Rename Rewrite as AvgPoolLowering (#1809)

This commit renames Rewrite as AvgPoolLowering for consistency

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Return nullptr on Eval compilation failure (#1807)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 10:15:15 +0000 (19:15 +0900)]
[enco] Return nullptr on Eval compilation failure (#1807)

The return value may be undefined with the current implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Expose ReLU::arg methods (#1805)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 10:15:05 +0000 (19:15 +0900)]
[coco] Expose ReLU::arg methods (#1805)

Currently, arg methods in ReLU class are private.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco.generic] Honor KernelLayout (#1803)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 07:34:02 +0000 (16:34 +0900)]
[coco.generic] Honor KernelLayout (#1803)

This commit revises kernel reader/accessor that coco::Data generates to
honor the layout of a given kernel object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNReLUAppender (#1802)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 07:20:35 +0000 (16:20 +0900)]
[enco] Introduce ANNReLUAppender (#1802)

As the first step to compile ReLU inside Eval, this commit extracts ReLU
compilation code as ANNReLUAppender which does not depend on UnitF.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco.caffe] Emit Eval on Convolution (#1800)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 06:39:40 +0000 (15:39 +0900)]
[enco.caffe] Emit Eval on Convolution (#1800)

With this commit, Caffe frontend now emits Eval instruction (instead of
UnitF) for Convolution layers.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Tree-like ReLU op (#1801)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 06:10:25 +0000 (15:10 +0900)]
[enco] Tree-like ReLU op (#1801)

This commit rewrites ReLU class to support tree-like Op structure.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Traverse only UnitF instructions (#1799)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 05:41:38 +0000 (14:41 +0900)]
[enco] Traverse only UnitF instructions (#1799)

This commit refines the implementation of data layout conversion pass to
traverse only UnitF instructions.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Build ANN Conv2D/DepthwiseConv2D from Eval instruction (#1798)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 05:06:59 +0000 (14:06 +0900)]
[enco] Build ANN Conv2D/DepthwiseConv2D from Eval instruction (#1798)

This commit allows Split pass to build Conv2D and DepthwiseConv2D
operation from Eval instruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Rename Lower as CopyLowering (#1797)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 04:35:11 +0000 (13:35 +0900)]
[enco] Rename Lower as CopyLowering (#1797)

This commit renames Lower.h and Lower.cpp as CopyLowering.h
and CopyLowering.cpp, respectively.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNDepthwiseConv2DAppender (#1795)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 04:34:40 +0000 (13:34 +0900)]
[enco] Introduce ANNDepthwiseConv2DAppender (#1795)

This commit introduces ANNDepthwiseConv2DAppender which does not depend
on UnitF instruction declaration, and rewrites ANNOpBuilder to use this
new appender.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Insert Copy after Eval if necessary (#1796)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 04:05:11 +0000 (13:05 +0900)]
[enco] Insert Copy after Eval if necessary (#1796)

This commit revises data layout conversion pass to insert Copy after Eval
if necessary.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Insert Copy before Load if necessary (#1794)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 02:32:42 +0000 (11:32 +0900)]
[enco] Insert Copy before Load if necessary (#1794)

This commit rewrites Data Layout Conversion pass to insert Copy before
each Load op if necessary.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNConv2DAppender (#1793)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 02:32:31 +0000 (11:32 +0900)]
[enco] Introduce ANNConv2DAppender (#1793)

This commit introduces ANNConv2DAppender which does not depend on UnitF
instruction declaration, and rewrites ANNOpBuilder to use this new
appender.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] clone_feature as a non-class helper (#1792)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 02:11:43 +0000 (11:11 +0900)]
[enco] clone_feature as a non-class helper (#1792)

This commit extracts 'clone' method in ShuffleGen as 'clone_feature'
which is a non-class helper function.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Remove ObjectInfo.forward.h (#1791)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 02:11:33 +0000 (11:11 +0900)]
[coco] Remove ObjectInfo.forward.h (#1791)

ObjectInfo.h no longer exists, but ObjectInfo.forward.h is still in the
code tree.

This commit removes ObjectInfo.forward.h itself along with all of its
references.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Introduce ANNOpAppender interface (#1790)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 01:52:39 +0000 (10:52 +0900)]
[enco] Introduce ANNOpAppender interface (#1790)

This commit introduces ANNOpAppender interface which generalizes the
existing Appender interface (based on std::function).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Return correct parent for non-root nodes (#1782)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 00:50:31 +0000 (09:50 +0900)]
[coco] Return correct parent for non-root nodes (#1782)

This commit fixes the implementation of Op::parent method to return
correct parent even for non-root nodes.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Rename Normalize as DataLayoutConversion (#1783)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 00:38:39 +0000 (09:38 +0900)]
[enco] Rename Normalize as DataLayoutConversion (#1783)

This commit renames Normalize pass as DataLayoutConversion pass, and
rewrites it to expose one function similarly as other transforms.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Introduce Op mutator interface (#1781)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Oct 2018 00:37:43 +0000 (09:37 +0900)]
[coco] Introduce Op mutator interface (#1781)

This commit introduces basic boilerplates for Op mutators.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd low level code style description (#1736)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 9 Oct 2018 15:06:18 +0000 (18:06 +0300)]
Add low level code style description (#1736)

Add code_style.rst document that describes C++ formatting and naming conventions

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[nnc] Fix unchecked ferror on file descriptor after reading file (#1746)
Павел Ильютченко/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 9 Oct 2018 12:42:20 +0000 (15:42 +0300)]
[nnc] Fix unchecked ferror on file descriptor after reading file (#1746)

* May occur error while reading which is skipped without checking ferror

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@partner.samsung.com>
6 years ago[nnc] Add default case in intepreter Pooling op (#1748)
Павел Ильютченко/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 9 Oct 2018 11:22:58 +0000 (14:22 +0300)]
[nnc] Add default case in intepreter Pooling op (#1748)

* Add default in switch case construction with enum

* Add assert statement to default condition to switch case

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@partner.samsung.com>
6 years ago[nnc] Fix switch construction with default case (#1709)
Павел Ильютченко/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 9 Oct 2018 11:20:55 +0000 (14:20 +0300)]
[nnc] Fix switch construction with default case (#1709)

* add assert(false) to default case of switch statement

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@partner.samsung.com>
6 years ago[nnc] Refactor nnc Shape and related classes (#1645)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 9 Oct 2018 11:15:55 +0000 (14:15 +0300)]
[nnc] Refactor nnc Shape and related classes (#1645)

Number of warnings minimized,
Replace unsigned ints with signed in Model IR
Move num_elements and AUTO_DIM into Shape class

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[nnc] Add misc scripts (#1610)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Tue, 9 Oct 2018 10:59:58 +0000 (13:59 +0300)]
[nnc] Add misc scripts (#1610)

Add utility scripts that we use to repository.

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[nnc] Add readme for interpreter testing system (#1157)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 9 Oct 2018 10:57:33 +0000 (13:57 +0300)]
[nnc] Add readme for interpreter testing system (#1157)

Described how to run interpreter tests and how to add
tests for new NN operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoCaffe Model Maker (#1735)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 8 Oct 2018 17:24:14 +0000 (20:24 +0300)]
Caffe Model Maker (#1735)

This utility creates 1 or 2 layer caffe models.

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
6 years ago[nnc] Refactor serialization (#1733)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 8 Oct 2018 15:27:29 +0000 (18:27 +0300)]
[nnc] Refactor serialization (#1733)

This PR:
* Addresses issue #1681: de/serialization systems are changed to stare tensor data as raw bytes sequences, which reduces some amount of code now and, potentially, more later
* Changes codestyle in related files a bit to correspond with our future standarts
* Changes file structure of related files: serializer is now moved from a separate folder into modelIR folder.
* Fixes #1701

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[enco] Decouple ANN IR from enco Code (#1780)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Oct 2018 07:38:33 +0000 (16:38 +0900)]
[enco] Decouple ANN IR from enco Code (#1780)

With this commit, enco::Code no longer holds ANNContext. Each pass can
access ANNContext through SubnetManager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Require Instr on Step construction (#1779)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Oct 2018 07:33:51 +0000 (16:33 +0900)]
[coco] Require Instr on Step construction (#1779)

This commit disables default constructor of Step, and explicitly requires
Instr on construction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Decouple ANNContext and Code in ANNGroupBuilder (#1777)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Oct 2018 07:00:58 +0000 (16:00 +0900)]
[enco] Decouple ANNContext and Code in ANNGroupBuilder (#1777)

This commit revises ANNGroupBuilder to explicitly take ANNContext as a
pointer.

This change will allow users to use their own ANNContext instead of the
one embedded in enco::Code.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Eliminate unused argument of ANNOpBuilder constructor (#1775)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Oct 2018 05:46:46 +0000 (14:46 +0900)]
[enco] Eliminate unused argument of ANNOpBuilder constructor (#1775)

ANNOpBuilder currently takes coco::Data *, but it is not used anymore.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[enco] Simplify arguments of ANNModuleBuilder (#1776)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Oct 2018 05:46:30 +0000 (14:46 +0900)]
[enco] Simplify arguments of ANNModuleBuilder (#1776)

coco::Code and coco::Data are never used inside ANNModuleBuilder.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Tree-like Conv2D op (#1773)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Oct 2018 05:37:07 +0000 (14:37 +0900)]
[coco] Tree-like Conv2D op (#1773)

* [coco] Tree-like Conv2D op

This commit introduces 'arg' methods to Conv2D class, which allows
frontend to construct a tree-like structure with Conv2D Op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a typo