platform/core/ml/nnfw.git
5 years ago[moco/tf] Introduce GraphBuilderSource interface (#4235)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Jul 2019 00:56:04 +0000 (09:56 +0900)]
[moco/tf] Introduce GraphBuilderSource interface (#4235)

This commit extracts GraphBuilderSource from GraphBuilderRegistry
which supports only lookup method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco_tf] helper of test to find nodes by type (#4241)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 15 Jul 2019 00:35:23 +0000 (09:35 +0900)]
[moco_tf] helper of test to find nodes by type (#4241)

This will add find_nodes_bytype() for unit tests to find nodes by type

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Introduce find node by type test helper (#4226)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Sun, 14 Jul 2019 23:33:55 +0000 (08:33 +0900)]
[moco/tf] Introduce find node by type test helper (#4226)

* [moco/tf] Introduce find node by type test helper

This will introduce find_node_bytype in test helper to find a node with a specific type

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* rename and include header

5 years ago[moco/tf] Enable FeatureDecode-ReLU reorder by default (#4228)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Sun, 14 Jul 2019 23:28:34 +0000 (08:28 +0900)]
[moco/tf] Enable FeatureDecode-ReLU reorder by default (#4228)

It turns out that "FeatureDecode-ReLU" reorder transformation is
compatible with all the current implementation.

Let's enable this transformation by default.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[exo/tflite] Support FeatureBiasAdd (#4229)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 07:57:58 +0000 (16:57 +0900)]
[exo/tflite] Support FeatureBiasAdd (#4229)

T/F Lite exporter now accepts FeatureBiasAdd node.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoStop CMake immediately on GTest configure/build error (#4232)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 07:49:20 +0000 (16:49 +0900)]
Stop CMake immediately on GTest configure/build error (#4232)

Now, CMake stops immediately on GTest configure/build fails.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoStop CMake immediately on FlatBuffer configure/build error (#4231)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 07:49:10 +0000 (16:49 +0900)]
Stop CMake immediately on FlatBuffer configure/build error (#4231)

Now, CMake configuration stops immediately if FlatBuffer configure/build
fails.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Import as TFConv2D (#4223)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 12 Jul 2019 05:49:54 +0000 (14:49 +0900)]
[moco/tf] Import as TFConv2D (#4223)

This will enable import as TFConv2D

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[exo/tflite] Export T/F Lite operation in exeuction order (#4222)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 05:32:04 +0000 (14:32 +0900)]
[exo/tflite] Export T/F Lite operation in exeuction order (#4222)

* [exo/tflite] Export T/F Lite operation in exeuction order

The current implementations generates T/F Lite operators following node
generation order which may differ from actual execution order.

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

5 years ago[moco/tf] Selective Reorder (#4216)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 05:14:26 +0000 (14:14 +0900)]
[moco/tf] Selective Reorder (#4216)

This commit allows users to control whether to apply reorder transform
per operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[exo/tflite] Remove commented function declarations (#4218)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 05:14:15 +0000 (14:14 +0900)]
[exo/tflite] Remove commented function declarations (#4218)

These functions declarations are no longer used, but just commented
to reduce the amount of code diff.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[exo/tflite] Export Tensors after Allocation (#4199)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 05:13:09 +0000 (14:13 +0900)]
[exo/tflite] Export Tensors after Allocation (#4199)

This commit rewrites exportOpDefinedTensors as a 2-stage function. Now,
exportOpDefinedTensors first allocates a T/F Lite tensor first, and then
export allocated T/F Lite tensors.

The first phase iterates over loco nodes, but the second phase now
iterates over allocated T/F Lite tensors.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[mocotest/tf] Use CMake include (#4214)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 05:06:40 +0000 (14:06 +0900)]
[mocotest/tf] Use CMake include (#4214)

This commit revises how to add moco a T/F testcase. This change allows
users to comment out some testcases temporarily.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Move Transform.test.cpp (#4217)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 04:50:01 +0000 (13:50 +0900)]
[moco/tf] Move Transform.test.cpp (#4217)

Transform.cpp is in the top-level source directory, but Transform.test.cpp
is currently inside Transforms directory.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locoex/customop] Introducing VariadicArityNode (#4189)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 12 Jul 2019 04:47:07 +0000 (13:47 +0900)]
[locoex/customop] Introducing VariadicArityNode (#4189)

* [locoex/customop] Introducing VariadicArityNode

In case of custom op, we don't know how many inputs custom op has.
Because of this, previous we need this (previous FixedArityNode cannot handle this situation)

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* unsigned to uint32_t, remove _arity member variable and duplicate assert()

* test case

* removed customop dir and namespace

* use unused var pull_02

5 years agoUpdate git ignore file (#4173)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 04:11:43 +0000 (13:11 +0900)]
Update git ignore file (#4173)

Cleanup .gitignore file to manage files generated by official tool only

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[res] TF_SMALL_NET_0008 with Conv2D + Add (#4207)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 12 Jul 2019 02:38:24 +0000 (11:38 +0900)]
[res] TF_SMALL_NET_0008 with Conv2D + Add (#4207)

This will introduce TF_SMALL_NET_0008 having Conv2d and Add node
This is to check FuseBinaryIntoPreceding transformation that fuses Add into Conv2D + BiasAdd
where BiasAdd will be created with 0 bias if not exist

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[locop] Introduce CanonicalNodeSummaryBuilder (#4205)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 00:37:14 +0000 (09:37 +0900)]
[locop] Introduce CanonicalNodeSummaryBuilder (#4205)

* [locop] Introduce CanonicalNodeSummaryBuilder

This commit introduces CanonicalNodeSummaryBuilder, which allows users
to embed CanonicalNodeSummryBuilder into their own NodeSummaryBuilder.

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

5 years agoStop CMake immediately on Protobuf configure/build failure (#4215)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Jul 2019 00:14:53 +0000 (09:14 +0900)]
Stop CMake immediately on Protobuf configure/build failure (#4215)

The current implementation just returns with STATUS message.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locop] Add license notice (#4213)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Jul 2019 09:49:03 +0000 (18:49 +0900)]
[locop] Add license notice (#4213)

There is no license notice in FormattedGraph.h and ForamttedGraph.cpp.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Show lines in transformation log (#4190)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 06:56:59 +0000 (15:56 +0900)]
[moco/tf] Show lines in transformation log (#4190)

This will show lines in PhaseRunner for better readability in between transforms and phase

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[res] TF_SMALL_NET_0007 with Conv2D+Mul (#4200)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 06:56:39 +0000 (15:56 +0900)]
[res] TF_SMALL_NET_0007 with Conv2D+Mul (#4200)

This will introduce TF_SMALL_NET_0007 having Conv2D and Mul node
This is to check FuseBinaryIntoPreceding transformation that fuses Mul into Conv2D kernel and be removed

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] TFConv2D to Conv2D Canonicalizer (#4202)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 06:56:11 +0000 (15:56 +0900)]
[moco/tf] TFConv2D to Conv2D Canonicalizer (#4202)

This will implement TFConv2D to Conv2D Canonicalizer

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Fix macro undef (#4201)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 06:55:44 +0000 (15:55 +0900)]
[moco/tf] Fix macro undef (#4201)

This will fix macro undef to right name

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[locop] Extract canonical_node_desc from node_desc (#4198)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Jul 2019 06:17:50 +0000 (15:17 +0900)]
[locop] Extract canonical_node_desc from node_desc (#4198)

This commit extracts canonical_node_desc helper from node_desc in order
to make it easy to reuse.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tf2tflite] Enable Placeholder_000 and Multiple_IO_002 (#4196)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Jul 2019 04:59:37 +0000 (13:59 +0900)]
[tf2tflite] Enable Placeholder_000 and Multiple_IO_002 (#4196)

Recent changes on moco-tf and exo-tflite resolve Placeholder_000 and
Multiple_IO_002 test failure.

- moco-tf now eliminates Forward by default, which resolves
Placeholder_000 failure.
- exo-tflite now honor the input/output order, which resolves
Multiple_IO_002 failure.

This commit updates tf2tflite test framework to check Multiple_IO_002
and Placeholder_000 by default to prevent regression.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Use PadData and StrideData for TFConv2d (#4163)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 03:47:45 +0000 (12:47 +0900)]
[moco/tf] Use PadData and StrideData for TFConv2d (#4163)

* [moco/tf] Use PadData and StrideData for TFConv2d

This will fix TFConv2D related FixPadding and FixShare transformations to use PadData and ShapeData to simplify Canonicalization

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* check data_layout

* fix log message

* fix log message

5 years ago[moco/tf] Add fix for shape and padding (#4188)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 01:37:44 +0000 (10:37 +0900)]
[moco/tf] Add fix for shape and padding (#4188)

This will add fix for shape and padding after TF transformations that can add new nodes with empty shape and padding

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Remove unused Canonicalization files (#4191)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Jul 2019 01:35:28 +0000 (10:35 +0900)]
[moco/tf] Remove unused Canonicalization files (#4191)

This will remove unused Canonicalization files that are replaced by the files in Canonicalization folder

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[exo/tflite] Hide ShapeContext (#4187)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Jul 2019 01:21:33 +0000 (10:21 +0900)]
[exo/tflite] Hide ShapeContext (#4187)

This commit makes ShapeContext visible only to ShapeInference module,
and revises all the other modules to use "ShapeInferece::get".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdd Multiple_IO_002 TensorFlow test (#4181)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Jul 2019 00:33:39 +0000 (09:33 +0900)]
Add Multiple_IO_002 TensorFlow test (#4181)

This commit adds Multiple_IO_002 test. This testcase allows us to
check what happens if there is a mismatch between node declataion order
and input order.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Add ClearAnnotTransform items (#4186)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 22:36:12 +0000 (07:36 +0900)]
[moco/tf] Add ClearAnnotTransform items (#4186)

This will add PadData and StrideData to ClearAnnotTransform transform

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[loco] Remove make_dimension(uint32_t) (#4176)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 08:34:58 +0000 (17:34 +0900)]
[loco] Remove make_dimension(uint32_t) (#4176)

* [loco] Remove make_dimension(uint32_t)

This commit removes make_dimension(uint32_t) helper from loco, and
updates relevant code.

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

5 years ago[moco/tf] Enable Stable Optimizations by default (#4183)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 08:33:29 +0000 (17:33 +0900)]
[moco/tf] Enable Stable Optimizations by default (#4183)

This commit enables the following optimizations by default.
- RemoveDeadNode
- SimplifyDomainConversion
- RemoveForwardNode

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[exo/tflite] Honor Graph Input/Output order (#4184)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 08:33:12 +0000 (17:33 +0900)]
[exo/tflite] Honor Graph Input/Output order (#4184)

TFLExporter now creates TensorFlow Lite Graph Input/Output using
graph-level specification.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Knob for Canonicalize Conv2D (#4185)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 08:30:53 +0000 (17:30 +0900)]
[moco/tf] Knob for Canonicalize Conv2D (#4185)

This will add a knob for Canonicalize Conv2D node

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[loco] Graph::NodeContext::create with multiple parameters (#4182)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 08:12:30 +0000 (17:12 +0900)]
[loco] Graph::NodeContext::create with multiple parameters (#4182)

To support loco node with constructors that takes parameter, Graph::NodeContext::create now takes parameters.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[locoex/customop] Change directory structure (#4153)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 05:56:50 +0000 (14:56 +0900)]
[locoex/customop] Change directory structure (#4153)

* [locoex/customop] Change directory structure

Moved already-merged file into the following directory structure

-- locoex-customop -+- include -- locoex -- customop -- header files (no sub-directory)
                    |
                    +- src - source files (no sub-directory)

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* rename subdir(namespace) customop to node

* renaming directory and node name

5 years ago[moco] Remove empty directories (#4177)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 05:55:39 +0000 (14:55 +0900)]
[moco] Remove empty directories (#4177)

Most of implementations are now in moco-tf and moco-onnx.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Introduce PadData (#4160)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 05:37:58 +0000 (14:37 +0900)]
[moco/tf] Introduce PadData (#4160)

* [moco/tf] Introduce PadData

This will introduce PadData used as annotation for TFConv2D pad

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* fix guard comment

5 years ago[exo.tflite] Manage TFLTensorIndex as annotation (#4162)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 04:06:01 +0000 (13:06 +0900)]
[exo.tflite] Manage TFLTensorIndex as annotation (#4162)

The current implementation manages TFLTensorIndex via SubGraphContext,
which necessitates some-level of indirection.

This commit makes exo-tflite to annotate each node with its tensor
index.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/onnx] Remove make_dimension(uint32_t) usage (#4170)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 04:05:48 +0000 (13:05 +0900)]
[moco/onnx] Remove make_dimension(uint32_t) usage (#4170)

This commit revises moco-onnx not to invoke deprecated make_dimension(uint32_t).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locomotiv] Remove make_dimension(uint32_t) usage (#4171)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 04:05:38 +0000 (13:05 +0900)]
[locomotiv] Remove make_dimension(uint32_t) usage (#4171)

This commit revises locomotiv not to invoke deprecated
make_dimension(uint32_t).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Remove make_dimension(uint32_t) usage (#4172)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 04:05:27 +0000 (13:05 +0900)]
[moco/tf] Remove make_dimension(uint32_t) usage (#4172)

This commit revises moco-tf not to invoke deprecated
make_dimension(uint32_t).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locop] Extensible Node Formatting (#4156)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 03:59:31 +0000 (12:59 +0900)]
[locop] Extensible Node Formatting (#4156)

This commit introduces NodeSummaryBuilder & NodeSummaryBuilderFactory
interfaces.

These interfaces allow users to inject their own Node Formatting
implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[exo.tflite] Restrict TypeContext's visibility (#4159)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 03:59:12 +0000 (12:59 +0900)]
[exo.tflite] Restrict TypeContext's visibility (#4159)

TypeInference is the only module that accesses TypeContext.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tf2tflite] Enable tests (#4154)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 01:33:20 +0000 (10:33 +0900)]
[tf2tflite] Enable tests (#4154)

This commit enables additional tests for tf2tlite. Here is the list of tests to
be enabled:
- AvgPool_000
- AvgPool_001
- Concat_002
- Conv2D_000
- MaxPool_000
- Relu_000
- TF_SMALL_NET_0002

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Reorder Knob list by function (#4168)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 00:54:01 +0000 (09:54 +0900)]
[moco/tf] Reorder Knob list by function (#4168)

* [moco/tf] Reorder Knob list by function

This will reorder Knob list items by the function

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* remove new one

5 years agoAdd Google NSync CMake package (#4161)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 00:01:28 +0000 (09:01 +0900)]
Add Google NSync CMake package (#4161)

* Add Google NSync CMake package

This commit adds Google NSync CMake package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove duplicated set

5 years ago[moco/tf] Introduce StrideData (#4158)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 9 Jul 2019 22:07:06 +0000 (07:07 +0900)]
[moco/tf] Introduce StrideData (#4158)

This will introduce StrideData used as annotation for TFConv2D stride

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Introduce FuseBinaryIntoPreceding (#4150)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 9 Jul 2019 06:17:10 +0000 (15:17 +0900)]
[moco/tf] Introduce FuseBinaryIntoPreceding (#4150)

This will introduce empty FuseBinaryIntoPreceding transformation for fusing binary(i.e. mul, add) node to preceding node

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[exo/tflite] Extract SubGraphContext from SerializedModelData (#4151)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 04:48:31 +0000 (13:48 +0900)]
[exo/tflite] Extract SubGraphContext from SerializedModelData (#4151)

This commit extracts SubGraphContext from SerializedModelData.

This information related with T/F Lite SubGraph is necessary to
serialize graph, but not a part of serialized data.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locop] Expose NodeDesc class (#4152)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 04:42:36 +0000 (13:42 +0900)]
[locop] Expose NodeDesc class (#4152)

* [locop] Expose NodeDesc class

This commit exposes NodeDesc class as a public class as a step to
support user-defined node pretty-printer.

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

5 years ago[moco/tf] Enable Canonicalizer (#4148)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 9 Jul 2019 01:34:59 +0000 (10:34 +0900)]
[moco/tf] Enable Canonicalizer (#4148)

This will enable two existing two canonicalizer in transformation phase

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[exo.tflite] Properly propagate type information (#4144)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 00:30:15 +0000 (09:30 +0900)]
[exo.tflite] Properly propagate type information (#4144)

The current implementation of type inference fails to properly propagate
type information.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Introduce CanonicalizeBiasAdd (#4139)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 22:07:52 +0000 (07:07 +0900)]
[moco/tf] Introduce CanonicalizeBiasAdd (#4139)

* [moco/tf] Introduce CanonicalizeBiasAdd

This will introduce CanonicalizeBiasAdd transformation that transforms Tensorflow dialect BiasAdd to Canonical dialect BiasAdd.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* rename and move folder

* fix use return

5 years ago[moco/tf] Processing the schama file for model metainfo file (#4137)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 22:03:44 +0000 (07:03 +0900)]
[moco/tf] Processing the schama file for model metainfo file (#4137)

This commit adds schema file and CMakeLists for processing model metainfo file.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[moco/tf] Fix to use return in Conv2DCanonicalizer (#4142)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 09:36:48 +0000 (18:36 +0900)]
[moco/tf] Fix to use return in Conv2DCanonicalizer (#4142)

This will fix to use return value in Conv2DCanonicalizer

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Introduce ReLU6 (#4131)
채성우/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 8 Jul 2019 09:36:23 +0000 (09:36 +0000)]
[moco/tf] Introduce ReLU6 (#4131)

* [moco/tf] Introduce ReLU6

This commit introduce ReLU6 operation to moco.

Signed-off-by: seongwoo <sw4670.chae@samsung.com>
* This commit apply for comments.

5 years ago[moco/tf] Reorder FeatureDecode-TensorBiasAdd (#4127)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 09:17:55 +0000 (18:17 +0900)]
[moco/tf] Reorder FeatureDecode-TensorBiasAdd (#4127)

"ReorderDecode" is now able to rewrite "FeatureDecode-TensorBiasAdd" as
"FeatureBiasAdd-FeatureDecode".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locop] Introduce SymbolTable interface (#4128)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 08:23:50 +0000 (17:23 +0900)]
[locop] Introduce SymbolTable interface (#4128)

This commit introduces "SymbolTable" interface as a step to make
locop framework extensible.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locop] Default-contructible NodeDesc (#4134)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 07:21:49 +0000 (16:21 +0900)]
[locop] Default-contructible NodeDesc (#4134)

This commit makes (internal) NodeDesc default-constructible.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[exo/tflite] Extract Shape Inference (#4138)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 07:21:11 +0000 (16:21 +0900)]
[exo/tflite] Extract Shape Inference (#4138)

This commit extracts shape inference phase from tensor export phase.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Introduce CanonicalizeConv2D (#4140)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 07:14:58 +0000 (16:14 +0900)]
[moco/tf] Introduce CanonicalizeConv2D (#4140)

* [moco/tf] Introduce CanonicalizeConv2D

This will introduce emptyCanonicalizeConv2D that transforms TensorFlow dialect Conv2D to Canonical Conv2D

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* rename and move folder

5 years ago[locoex/customop] Initial commit for Custom Op (#4136)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 07:10:50 +0000 (16:10 +0900)]
[locoex/customop] Initial commit for Custom Op (#4136)

* [locoex/customop] Initial commit for Custom Op

This is an initial commit for Custom Op. Parents for Custom Op will be added after successive PRs.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* revised

5 years ago[moco/tf] Introduce ResolveFusedBatchNorm (#4125)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 02:45:27 +0000 (11:45 +0900)]
[moco/tf] Introduce ResolveFusedBatchNorm (#4125)

This will introduce ResolveFusedBatchNorm transformation that decomposes FusedBatchNorm node into Add and Mul

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[exo.tflite] Extract Type Inference as a separate phase (#4126)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 01:50:37 +0000 (10:50 +0900)]
[exo.tflite] Extract Type Inference as a separate phase (#4126)

This commit extracts (Data) Type Inference from exportOpDefinedTensor
phase.

This chanage allows users to infer types without exporting tensors.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[plier/tf] Move more functions from Moco::tf::convert.h & cpp (#4122)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 01:11:39 +0000 (10:11 +0900)]
[plier/tf] Move more functions from Moco::tf::convert.h & cpp (#4122)

The following was moved into plier.tf from moco/../convert.h & cpp
- two functions
- test case

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[moco/tf] name attribute for transforms (#4121)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 01:06:31 +0000 (10:06 +0900)]
[moco/tf] name attribute for transforms (#4121)

This will add name() attribute for existing Transforms

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] simplify get_data_layout (#4124)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 00:55:21 +0000 (09:55 +0900)]
[moco/tf] simplify get_data_layout (#4124)

This will simplify get_data_layout to call as_DataLayout as common part

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoAdd "GoogleDoubleConversion" package (#4112)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 00:14:54 +0000 (09:14 +0900)]
Add "GoogleDoubleConversion" package (#4112)

* Add "GoogleDoubleConversion" package

This commit introduces "GoogleDoubleConversion" which allows users to
import system-wide Google DoubleConversion library in nncc style.

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

5 years ago[exo/tflite] Use loco::output_nodes in exportOpDefinedTensors (#4118)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 00:14:32 +0000 (09:14 +0900)]
[exo/tflite] Use loco::output_nodes in exportOpDefinedTensors (#4118)

exportOpDefinedTensors currently uses its own implementation of
loco::output_nodes.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco_tf] Fix BiasAdd test indent todo (#4120)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 00:11:36 +0000 (09:11 +0900)]
[moco_tf] Fix BiasAdd test indent todo (#4120)

This will fix indentation of BiasAdd test from previous change

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Conv2D test support TFConv2D (#4083)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Jul 2019 00:08:21 +0000 (09:08 +0900)]
[moco/tf] Conv2D test support TFConv2D (#4083)

* [moco/tf] Conv2D test support TFConv2D

This will split Conv2D test to support TFConv2D by the knob

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* include knob

5 years ago[moco/tf] Rename FusedBatchNorm Graph builder (#4119)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Sun, 7 Jul 2019 23:29:51 +0000 (08:29 +0900)]
[moco/tf] Rename FusedBatchNorm Graph builder (#4119)

This will rename GraphBuilder for FusedBatchNorm with 'TF' prefix to match other GraphBuilders

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Add Canonicalization and Knob for TFBiasAdd (#4117)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 5 Jul 2019 08:49:35 +0000 (17:49 +0900)]
[moco/tf] Add Canonicalization and Knob for TFBiasAdd (#4117)

* [moco/tf] Add Canonicalization and Knob for TFBiasAdd

This will Add Canonicalization class with TFBiassAdd node.
Add a Knob for canonicalization of TFBiasAdd to Canonical BiasAdd node

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* fix note

5 years ago[loco] Introduce FeatureBiasAdd node (#4110)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 08:47:43 +0000 (17:47 +0900)]
[loco] Introduce FeatureBiasAdd node (#4110)

This commit introduces FeatureBiasAdd which adds a "bias" along
a FeatureMap's depth axis.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[moco/tf] Import as TFBiasAdd by Knob (#4116)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 5 Jul 2019 08:25:26 +0000 (17:25 +0900)]
[moco/tf] Import as TFBiasAdd by Knob (#4116)

This will add ImportAsTFBiasAdd knob and import as TFBiasAdd when turned on.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Move helper alias to TFNodeDecl header (#4115)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 5 Jul 2019 07:51:28 +0000 (16:51 +0900)]
[moco/tf] Move helper alias to TFNodeDecl header (#4115)

This will move helper alias from TFConv to TFNodeDecl header for common usage

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[moco/tf] Introduce TFBiasAdd (#4114)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 5 Jul 2019 07:33:24 +0000 (16:33 +0900)]
[moco/tf] Introduce TFBiasAdd (#4114)

This will introduce TFBiasAdd to import BiasAdd node as-is

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[exo/tflite] Extract Type/Shape Context (#4107)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 05:24:38 +0000 (14:24 +0900)]
[exo/tflite] Extract Type/Shape Context (#4107)

SerializedModelData has multiple responsibilities as of now.

This commit extracts TypeContext (which manages node-to-type mapping)
and ShapeContext (which manages node-to-shape mapping) as the first step
to internal design revision.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdd TF_SMALL_NET_0006 test (#4103)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 04:08:10 +0000 (13:08 +0900)]
Add TF_SMALL_NET_0006 test (#4103)

* Add TF_SMALL_NET_0006 test

This test checkes what happens when "Concat" is in between two Feature operations.

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

5 years ago[moco/tf] Set Graph Input/Output Data Type (#4104)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 04:07:59 +0000 (13:07 +0900)]
[moco/tf] Set Graph Input/Output Data Type (#4104)

From now on, moco::tf::Importer generates a loco graph with
valid Input/Output dtype values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tf2tflite] Refine how to add tests (#4105)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 04:07:49 +0000 (13:07 +0900)]
[tf2tflite] Refine how to add tests (#4105)

This commit refines tf2tflite test framework to use CMake's "include"
command instead of ListFile_Read function.

This change permits flexible test management. For example, now it is
possible to comment out some tests temporarily.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[loco] Introduce TensorBiasAdd alias (#4102)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 01:15:41 +0000 (10:15 +0900)]
[loco] Introduce TensorBiasAdd alias (#4102)

This change allows users to use a bit short "loco::TensorBiasAdd" instead
of "loco::BiasAdd<loco::Domain::Tensor>".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[mocotest/onnx] Generate test file only on change (#4106)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 01:04:45 +0000 (10:04 +0900)]
[mocotest/onnx] Generate test file only on change (#4106)

The current implementation always copies and generates test files. With
this commit, test files are copied and generated only when it is
necessary.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[TFtest] Add TF_SMALL_NET_0004 test (#4095)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Jul 2019 22:05:27 +0000 (07:05 +0900)]
[TFtest] Add TF_SMALL_NET_0004 test (#4095)

* [TFtest] Add TF_SMALL_NET_0004 test

This commit adds TF_SMALL_NET_0004 test which sequentially performs
DepthwiseConv2d - FusedBatchNorm

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
* unpack values

5 years ago[loco] Add DataType attribute to Graph Input/Output (#4097)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 10:27:03 +0000 (19:27 +0900)]
[loco] Add DataType attribute to Graph Input/Output (#4097)

This commit allows loco frontends to record the data type of graph-level
input/output in GraphInput/GraphOutput.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[locomotiv] Introduce ReLU6 operation to locomotiv (#4096)
채성우/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Jul 2019 10:11:46 +0000 (19:11 +0900)]
[locomotiv] Introduce ReLU6 operation to locomotiv (#4096)

This commit introduce ReLU6 operation to locomotiv.

Signed-off-by: seongwoo <sw4670.chae@samsung.com>
5 years ago[mocotest/tf] Copy files only on change (#4094)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 09:22:37 +0000 (18:22 +0900)]
[mocotest/tf] Copy files only on change (#4094)

moco testframework now copies (and generates) test files only on change.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[TFtest] Add TF_SMALL_NET_0003 test (#4093)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Jul 2019 07:45:55 +0000 (16:45 +0900)]
[TFtest] Add TF_SMALL_NET_0003 test (#4093)

This commit adds TF_SMALL_NET_0003 test which sequentially performs
Conv2d - FusedBatchNorm

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
5 years ago[mocotest/tf] Use shared testcases (#4091)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 07:31:04 +0000 (16:31 +0900)]
[mocotest/tf] Use shared testcases (#4091)

mocotest-tf now uses shared TensorFlow tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tf2tflite] Use shared testcases (#4090)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 07:29:25 +0000 (16:29 +0900)]
[tf2tflite] Use shared testcases (#4090)

This commit rewrites tf2tflite test framework to use shared testcases
and removes tf2tflite-local testcases.

tf2tflite test framework now manages whitelist internally.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[mocotest-tf] test case for custom op (#4078)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 4 Jul 2019 04:49:14 +0000 (13:49 +0900)]
[mocotest-tf] test case for custom op (#4078)

* [mocotest-tf] test case for custom op

This is the first testcase for custom op. code for moco/loco extension will be written to pass this test.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* move into new resource dir

5 years ago[moco/tf] Implement ReorderDecode Transform (#4082)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 04:44:29 +0000 (13:44 +0900)]
[moco/tf] Implement ReorderDecode Transform (#4082)

* [moco/tf] Implement ReorderDecode Transform

This commit implements ReorderDecode transform which rewrites Decode ->
Op as Op -> Decode if possible.

The current implementation works only for ReLU.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Hoist loop-invariant code

* Update Graph example

5 years ago[angkor] Add TensorIndex & TensorShape alias (#4085)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 04:43:33 +0000 (13:43 +0900)]
[angkor] Add TensorIndex & TensorShape alias (#4085)

This commit introduces an alias of tensor::Index and tensor::Shape under
nncc::core::ADT namespace (to shorten client-side code).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tf2tflite] Detect crashes during test (#4089)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 04:42:15 +0000 (13:42 +0900)]
[tf2tflite] Detect crashes during test (#4089)

* [tf2tflite] Detect crashes during test

The current test frameworks becomes green as long as i5diff succeeds,
and thus it cannot detect any crash in tf2tflite / nnkit-run.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove trap code

5 years ago[moco/tf] Introduce TFConv2D IR (#4068)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 4 Jul 2019 03:59:10 +0000 (12:59 +0900)]
[moco/tf] Introduce TFConv2D IR (#4068)

* [moco/tf] Introduce TFConv2D IR

This will introduce TFConv2D TensorFlow dialect for Conv2D and related changes

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* use reference

* as type

5 years agoIntroduce ListFile CMake module (#4081)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 01:47:42 +0000 (10:47 +0900)]
Introduce ListFile CMake module (#4081)

This commit introduces ListFile CMake module which provides
ListFile_Read helper.

This helper makes it easy to create a list from text files.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoIntroduce TensorFlowTests resource (#4080)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 01:36:56 +0000 (10:36 +0900)]
Introduce TensorFlowTests resource (#4080)

This commit introduces TensorFlowTests resource which includes all the
tests in moco-tf and tf2tflite.

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