platform/core/ml/nnfw.git
5 years ago[coco] Introduce defined in Shuffle (#1465)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 06:03:48 +0000 (15:03 +0900)]
[coco] Introduce defined in Shuffle (#1465)

This commit extends Shuffle class with defined method.

This 'defined' method allows users to check whether a specified
element is specified as a target in Shuffle instruction without
using heavy range call.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Shuffle::at with ElemID method (#1464)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 04:55:52 +0000 (13:55 +0900)]
[coco] Introduce Shuffle::at with ElemID method (#1464)

This commit introduces Shuffle::at method that takes ElemID as its
argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Randomize inception c1 test (#1461)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 04:30:09 +0000 (13:30 +0900)]
[enco] Randomize inception c1 test (#1461)

The current inception c1 tests uses zero-filled kernel.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoOptionTools as a module (#1458)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Sep 2018 02:09:15 +0000 (11:09 +0900)]
OptionTools as a module (#1458)

OptionTools also does not fit into the concept of packages in nncc.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoExternalProejctTools as a module (#1453)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:37:08 +0000 (19:37 +0900)]
ExternalProejctTools as a module (#1453)

Similarly as ExternalSourceTool, ExternalProejctTools also does not fin
into the concept of packages in nncc.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[core] Remove unused Printable trait (#1454)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:36:48 +0000 (19:36 +0900)]
[core] Remove unused Printable trait (#1454)

This commit removes unused Printable trait declaration and related
implementations and tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Unlink Object's Def on destruction (#1457)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:36:40 +0000 (19:36 +0900)]
[coco] Unlink Object's Def on destruction (#1457)

This commit revises DefSlot<T> to unlink linked Def from Object on
destruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support Instr destruction (#1455)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 10:24:45 +0000 (19:24 +0900)]
[coco] Support Instr destruction (#1455)

This commit extends InstrManager with destroy method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Ensure Bag has no reference on destruction (#1449)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:37:36 +0000 (17:37 +0900)]
[coco] Ensure Bag has no reference on destruction (#1449)

This commit introduces several asserts inside Bag's destructor to ensure
that each bag has no reference in IR on destruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Refine Bag::updates method interface (#1448)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:37:24 +0000 (17:37 +0900)]
[coco] Refine Bag::updates method interface (#1448)

This commit changes Bag::updates method signature to support
constant-time access over Update links.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add inception c1 test (#1447)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:25:40 +0000 (17:25 +0900)]
[enco] Add inception c1 test (#1447)

This commit integrates inception_c1 example into caffe test suite.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Refine Bag::reads method interface (#1446)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 08:07:16 +0000 (17:07 +0900)]
[coco] Refine Bag::reads method interface (#1446)

This commit refines Bag::reads method to support constant-time access
over Read links.

Note that this commit introduces semantic changes over Bag::reads
method, but does not change the semantics of readers helper.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoExternalSourceTools as a module (#1445)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 07:56:52 +0000 (16:56 +0900)]
ExternalSourceTools as a module (#1445)

ExternalSourceTools does not fit into the concept of packages in nncc as
it does not import (or build) any external dependencies, and is always
available.

This commit converts ExternalSource as a module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Refine Bag::deps method interface (#1444)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 06:41:39 +0000 (15:41 +0900)]
[coco] Refine Bag::deps method interface (#1444)

This commit refines Bag::deps method to return the set of Deps links
that points on the current bag.

Note that this commit does not change the semantics non-member 'dependent_objects'
helper, so one may use 'dependent_objects' helper instead of 'deps'
method for compatiblity.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Fix Read.forward.h (#1443)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 06:24:48 +0000 (15:24 +0900)]
[coco] Fix Read.forward.h (#1443)

This commit rewrites Read.forward.h to provides the forward declaration
of Read class; The current implementation provides the duplicated definition
of Read class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Replace the use of deprecated methods in Bag (#1442)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:40:44 +0000 (13:40 +0900)]
[enco] Replace the use of deprecated methods in Bag (#1442)

This commit replaces the use of deprecated methods in Bag with suggested
ones.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Use make_unique without namespace (#1441)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:40:32 +0000 (13:40 +0900)]
[coco] Use make_unique without namespace (#1441)

This commit introduces 'using' statement for 'make_unique' in
Module.cpp. This change will improve code readability, and make
it easy to adopt C++ 14 later.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Unlink Read from Bag on destruction (#1438)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:37:34 +0000 (13:37 +0900)]
[coco] Unlink Read from Bag on destruction (#1438)

This commit implements the destructor of Read which unlinks itself from
a linked bag if it exists.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Unlink Update from Bag on desturction (#1439)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:36:18 +0000 (13:36 +0900)]
[coco] Unlink Update from Bag on desturction (#1439)

With this commit, Update unlinks itself from a linked bag if it exists.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce non-member helpers for Bag (#1440)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 04:26:59 +0000 (13:26 +0900)]
[coco] Introduce non-member helpers for Bag (#1440)

This commit introduces the following non-member helpers for Bag
 - dependent_objects
 - readers
 - updaters

These functions have a corresponding method in Bag, but these methods
will be deprecated.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Maintain UpdateSet instead of UpdaterSet (#1437)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 02:58:11 +0000 (11:58 +0900)]
[coco] Maintain UpdateSet instead of UpdaterSet (#1437)

This commit rewrites BagInfo to maintain UpdateSet instead of
UpdaterSet, which is necessary to support Bag-to-Bag substitution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Maintain ReadSet instead of ReaderSet (#1435)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 02:24:40 +0000 (11:24 +0900)]
[coco] Maintain ReadSet instead of ReaderSet (#1435)

* [coco] Maintain ReadSet instead of ReaderSet

This commit revises BagInfo to maintain a set of Read instead of Reader
as a step to support Bag substitution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Do not check _reader on update

5 years ago[coco] Remove UpdateHook (#1434)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 01:49:51 +0000 (10:49 +0900)]
[coco] Remove UpdateHook (#1434)

UpdateHook was introduced to isolate non-template implementation from
Update<T>.

Now, Update<T> is no longer based on template, and thus UpdateHook is no
longer necessary.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[ci] Add hdf5-tools to Dockerfile (#1429)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 11 Sep 2018 01:46:30 +0000 (10:46 +0900)]
[ci] Add hdf5-tools to Dockerfile (#1429)

* [ci] Add hdf5-tools to Dockerfile

This will add hdf5-tools to Dockefile for test programs that uses hdf5 tools

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* Change comment for hdf5-tools

5 years ago[coco] Remove ReadHook (#1433)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 01:34:54 +0000 (10:34 +0900)]
[coco] Remove ReadHook (#1433)

ReadHook was introduced to provide  common (non-template) implementation
over Read<T> classes.

This commit removes ReadHook and directly implements related operation
in Read as Read is no longer based on template.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[morph] Introduce dims.h (#1432)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 01:17:48 +0000 (10:17 +0900)]
[morph] Introduce dims.h (#1432)

This commit introduces dims modulue which will include helpers
for dims object creation from various shapes.

The current implementation supports only a helper for tensor shape.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename ReadSlot and UpdateSlot (#1420)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 00:42:02 +0000 (09:42 +0900)]
[coco] Rename ReadSlot and UpdateSlot (#1420)

This commit renames ReadSlot and UpdateSlot as Read/Update similarly as
Dep class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Maintain Dep(s) instead of Object(s) (#1424)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Sep 2018 00:35:31 +0000 (09:35 +0900)]
[coco] Maintain Dep(s) instead of Object(s) (#1424)

As the first step to support Bag substitution, this commit revises
BagInfo to internally maintain a list of Dep(s) in each dependent
Object instead of Object itself.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoFix comments (#1427)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 10 Sep 2018 23:22:42 +0000 (02:22 +0300)]
Fix comments (#1427)

This commit fixes some puzzling comments in caffegen

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years agonnc: add DOT format support to model dumpers (#1359)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 10 Sep 2018 15:00:02 +0000 (18:00 +0300)]
nnc: add DOT format support to model dumpers (#1359)

usage for dumpers:
    --dot - for dot format
    --dump - for simple format

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
5 years agoSupport missing Caffe Ops in Visitors (#1396)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 10 Sep 2018 14:30:28 +0000 (17:30 +0300)]
Support missing Caffe Ops in Visitors (#1396)

Added stubs to Visitors for Missing Caffe Ops.
ShapeInference, DotDumper, Interpreter now have skeleton implementations

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years agoNot unload plugins when they have already done (#1426)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 10:49:30 +0000 (13:49 +0300)]
Not unload plugins when they have already done (#1426)

workaround for bugs: #1300, #1198

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[enco] Add caffe 015 test (#1421)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 04:06:54 +0000 (13:06 +0900)]
[enco] Add caffe 015 test (#1421)

This commit adds caffe 015 test which includes a convolution layer that
specifies padding via pad_h/pad_w parameters.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove deprecated Bag::object method (#1422)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 03:51:52 +0000 (12:51 +0900)]
[coco] Remove deprecated Bag::object method (#1422)

This commit removes deprecated Bag::object method declaration and
implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Replace deprecated object with deps (#1419)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 02:22:21 +0000 (11:22 +0900)]
[enco] Replace deprecated object with deps (#1419)

This commit replaces all the use of deprecated Bag::object method inside
enco with Bag::deps.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Support convolution layer with pad_h and pad_w (#1418)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 02:08:39 +0000 (11:08 +0900)]
[enco] Support convolution layer with pad_h and pad_w (#1418)

* [enco] Support convolution layer with pad_h and pad_w

This commit extends caffe frontend to support convolution layer with
pad_h and pad_w parameters.

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

5 years ago[coco] Introduce Bag::deps (#1411)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 01:43:42 +0000 (10:43 +0900)]
[coco] Introduce Bag::deps (#1411)

This commit introduces Bag::deps which replaces existing 'object'
method.

New 'deps' method returns a snapshot of dependent object set similarly
as 'reads' and 'updates'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Rename Read and Update (#1410)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 00:38:34 +0000 (09:38 +0900)]
[coco] Rename Read and Update (#1410)

This commit renames Read and Update as Reader and Updater, respectively.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 014 test (#1415)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 00:38:21 +0000 (09:38 +0900)]
[enco] Add caffe 014 test (#1415)

This commit introduces caffe 014 testcase for concat layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Generate loops correctly (#1409)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Sep 2018 00:07:28 +0000 (09:07 +0900)]
[enco] Generate loops correctly (#1409)

The current implementation of LoopGen assumes that Shuffle is fully
specified over the destination bag.

While previous commit addresses one specific issue, it turns out that
LoopGen still suffers from various asserts during execution, and
generates incorrect code.

This commit rewrites LoopGen to depend on TransferSequence instead of
directly using Shuffle instruction to address all of remaining issues.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Scalar param support in IR dumper (#1397)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Fri, 7 Sep 2018 10:37:26 +0000 (13:37 +0300)]
[nnc] Scalar param support in IR dumper (#1397)

Added scalar parameter support in IR Dot Dumper
The params and their names are stored in a `vector<pair<string,float>>`

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years ago[enco.caffe] Support IRGen over Concat layer (#1408)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 07:48:42 +0000 (16:48 +0900)]
[enco.caffe] Support IRGen over Concat layer (#1408)

With this commit, enco caffe frontend is now able to generate coco IR
for Concat layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Use 'Dep' inside 'Object' (#1406)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 07:38:51 +0000 (16:38 +0900)]
[coco] Use 'Dep' inside 'Object' (#1406)

This commit replaces Bag * inside Object with 'Dep'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Loop Generation over Partial Shuffle (#1405)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 04:31:44 +0000 (13:31 +0900)]
[enco] Loop Generation over Partial Shuffle (#1405)

With this commit, Host codegen is now able to emit loop nests for
partial shuffle.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce ShapeQuery class (#1404)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 04:31:36 +0000 (13:31 +0900)]
[enco] Introduce ShapeQuery class (#1404)

* [enco] Introduce ShapeQuery class

This commit generalizes CanonicalChannelAxis implementation as
ShapeQuery to reuse this logic for other layers.

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

5 years ago[enco] Introduce ConcatSpec class (#1403)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 02:18:30 +0000 (11:18 +0900)]
[enco] Introduce ConcatSpec class (#1403)

This commit introduces ConcatSpec class which estimates the output shape
of Concat layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Dep class (#1401)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 02:12:43 +0000 (11:12 +0900)]
[coco] Introduce Dep class (#1401)

This commit introduces Dep class which represents the edge between Bag
and its dependent Object; the code itself is derived from Object::bag.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce Shuffle::range (#1400)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Sep 2018 02:12:31 +0000 (11:12 +0900)]
[coco] Introduce Shuffle::range (#1400)

This commit extends Shuffle class with range method which returns the
set of elements that will be updated by Shuffle.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 013 test (#1393)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 23:12:36 +0000 (08:12 +0900)]
[enco] Add caffe 013 test (#1393)

This commit introduces caffe 013 test which includes an average pooling
layer with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support partial shuffling (#1382)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:54:46 +0000 (19:54 +0900)]
[coco] Support partial shuffling (#1382)

Shuffle instruction now uses 'map' instead of 'vector' to store
element transfers between two bags.

This change allows users to encode partial shuffling in coco IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Implement AvgPool2D decomposition (#1388)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:40:56 +0000 (19:40 +0900)]
[enco] Implement AvgPool2D decomposition (#1388)

With this commit, enco backend now decomposes Static AvgPool2D with
padding into PadF and PaddingExcluded AvgPool2D without padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Initialize BagLink via non-virtual method (#1390)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:37:00 +0000 (19:37 +0900)]
[coco] Initialize BagLink via non-virtual method (#1390)

This commit deprecates virtual get method, and introduces non-virtual
setBagLink method.

This will allows us to use Bag Link inside destructor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Extend ANN IR CodeGen to support Pad op (#1391)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:36:43 +0000 (19:36 +0900)]
[enco] Extend ANN IR CodeGen to support Pad op (#1391)

This commit extends ANN IR CodeGen to support Pad op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build ANN IR for PadF op (#1392)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:36:26 +0000 (19:36 +0900)]
[enco] Build ANN IR for PadF op (#1392)

This commit extends ANN IR builder to support PadF op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce Pad op (#1387)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:20:13 +0000 (19:20 +0900)]
[enco] Introduce Pad op (#1387)

This commit extends ANN IR to support Pad op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Support INT32 tensor type (#1389)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:14:27 +0000 (19:14 +0900)]
[enco] Support INT32 tensor type (#1389)

This commit extends ANN CodeGen to properly declare a tensor operand of
INT32 type.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[ann] Introduce ANEURALNETWORKS_PAD (#1386)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 10:10:37 +0000 (19:10 +0900)]
[ann] Introduce ANEURALNETWORKS_PAD (#1386)

ANEURALNETWORKS_PAD tag is currently missing in "NeuralNetworks.h".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoFix build bug: remove conflicting declaration (#1384)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 08:24:14 +0000 (11:24 +0300)]
Fix build bug: remove conflicting declaration (#1384)

* remove conflicting declaration in interpreter

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoAdd tracking of error code (#1067)
Юрий Новиков/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Thu, 6 Sep 2018 08:02:31 +0000 (11:02 +0300)]
Add tracking of error code (#1067)

Return value of a functions 'fstat' and 'fseek' is not checked.
The return value may indicate error code.

Signed-off-by: y.novikov <y.novikov@partner.samsung.com>
5 years ago[coco] Introduce PadF op (#1381)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 06:43:16 +0000 (15:43 +0900)]
[coco] Introduce PadF op (#1381)

This commit introduces PadF op, and extends OpManager to support PadF
construction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 012 test (#1380)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 06:43:08 +0000 (15:43 +0900)]
[enco] Add caffe 012 test (#1380)

This commit introduces caffe 012 test which includes a MAX pooling layer
with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Correctly set ANN MaxPool2D padding (#1379)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 05:37:58 +0000 (14:37 +0900)]
[enco] Correctly set ANN MaxPool2D padding (#1379)

This commit revises ANN IR builder to use padding configuration stored
in MaxPool2D op (instead of hard-coded ones)

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build IR from Max pooling layer with padding (#1378)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 05:37:46 +0000 (14:37 +0900)]
[enco] Build IR from Max pooling layer with padding (#1378)

This commit revises enco caffe frontend to update padding on MaxPool2D
op with the padding values from pooling layer specification.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build ANN IR for AvgPool2D with padding (#1377)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 05:37:34 +0000 (14:37 +0900)]
[enco] Build ANN IR for AvgPool2D with padding (#1377)

This commit enables ANN IR build for AvgPool2D with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce padding-related members to MaxPool2D (#1376)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 04:39:05 +0000 (13:39 +0900)]
[coco] Introduce padding-related members to MaxPool2D (#1376)

This commit introduces padding-related members to MaxPool2D class to
allow frontend to deliver padding information to backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove deprecated Shuffle::at (#1375)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 04:38:49 +0000 (13:38 +0900)]
[coco] Remove deprecated Shuffle::at (#1375)

This commit removes deprecated Shuffle::at method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Build IR from Average Pooling layers with padding (#1373)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 04:38:36 +0000 (13:38 +0900)]
[enco] Build IR from Average Pooling layers with padding (#1373)

This commit extends enco caffe frontend to support coco IR build on
average pooling layers with padding.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Initial AvgPoolRewritePass implementation (#1374)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 02:58:17 +0000 (11:58 +0900)]
[enco] Initial AvgPoolRewritePass implementation (#1374)

This commit introduces the initial implementation of AvgPoolRewritePass
which support only simple case (Static divisor with empty padding).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add caffe 011 test (#1350)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 02:27:26 +0000 (11:27 +0900)]
[enco] Add caffe 011 test (#1350)

This commit adds caffe 011 test which includes an average pooling layer
with stride.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Use Shuffle::insert instead of Shuffle::at (#1372)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Sep 2018 02:27:08 +0000 (11:27 +0900)]
[enco] Use Shuffle::insert instead of Shuffle::at (#1372)

This commit replaces all the use of deprecated Shuffle::at with
Shuffle::insert.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
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>