박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
[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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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>
[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>
[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>
[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>
[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>
[nnc] Add misc scripts (#1610)
Add utility scripts that we use to repository.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
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>
Caffe Model Maker (#1735)
This utility creates 1 or 2 layer caffe models.
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
[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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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