platform/core/ml/nnfw.git
4 years ago[exo-tflite] adding `const` to TFLNodes.h (#7307)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 23:38:31 +0000 (08:38 +0900)]
[exo-tflite] adding `const` to TFLNodes.h (#7307)

This adds missing `const` to TFLNodes.h

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] type inference of TFLAveragePool2D (#7314)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 23:34:45 +0000 (08:34 +0900)]
[exo-tflite] type inference of TFLAveragePool2D (#7314)

This commit adds type inference of TFLAveragePool2D.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] change knob name for loco::AvgPool2D (#7316)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 23:34:29 +0000 (08:34 +0900)]
[exo-tflite] change knob name for loco::AvgPool2D (#7316)

Previous name `ConvertAveragePool2D` followed TFL node name.
So, renamed to ConvertAvgPool2D just like converter's name follows canonical name.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[custom op] Add FillFrom kernel example (#7310)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Sep 2019 11:26:23 +0000 (14:26 +0300)]
[custom op] Add FillFrom kernel example (#7310)

Add example for kernel developers

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years ago[custom op] Add basic custom op example structure (#7308)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Sep 2019 10:34:18 +0000 (13:34 +0300)]
[custom op] Add basic custom op example structure (#7308)

* [custom op] Add basic custom op example structure

Add directories and CMakeLists for apps and kernels

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
* use add_subdirectories

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years ago[cli] Use GTest_AddTest (#7286)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 10:18:11 +0000 (19:18 +0900)]
[cli] Use GTest_AddTest (#7286)

Let's simplify CMakeLists.txt a bit with GTest_AddTest helper.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[moco-tf] Apply shape_inference_done (#7304)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 10:14:25 +0000 (19:14 +0900)]
[moco-tf] Apply shape_inference_done (#7304)

This will apply to use shape_inference_done() for fix_shape nodes

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[logo] Unit test for ConstantFoldingPass (#7301)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 10:00:51 +0000 (19:00 +0900)]
[logo] Unit test for ConstantFoldingPass (#7301)

* [logo] Unit test for ConstantFoldingPass

This will add unit test for ConstantFoldingPass copied from moco-tf ConstantFoldingTransform excluing import and log

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

4 years ago[backend/srcn] Add transpose conv kernel (#7248)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 09:53:30 +0000 (18:53 +0900)]
[backend/srcn] Add transpose conv kernel (#7248)

* [backend/srcn] Add transpose conv kernel

Srcn library supports raw-major(NCHW) and col-major(NHWC) image layout.
However this commit only supports col-major image layout.

And Srcn library takes HWOI kernel filter layout when the image layout is NHWC.
But in neurun, it takes OHWI kernel filter layout when using the same image layout.
So it need to permute codes for TransposeConv weight.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Change the Permute function to be limited to kernel layout

* Use original data array without copying to new address

4 years ago[locomotiv] Use const if possible (#7264)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 09:37:11 +0000 (18:37 +0900)]
[locomotiv] Use const if possible (#7264)

"annot_data" and "annot_domain" do not change the node itself.

This commit revies the signature of these helpers to express this
property explicitly.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[moco-tf] Use shape_inference_done for helpers (#7288)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 07:55:29 +0000 (16:55 +0900)]
[moco-tf] Use shape_inference_done for helpers (#7288)

This will change to use shape_inference_done() for helpers in FixShapeTransform

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[logo] Test helper (#7289)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 07:40:54 +0000 (16:40 +0900)]
[logo] Test helper (#7289)

* [logo] Test helper

This will introduce TestHelper for logo with find_first_node_bytype() method

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

4 years ago[loco] Add LEP_000 document (#7128)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 07:10:35 +0000 (16:10 +0900)]
[loco] Add LEP_000 document (#7128)

* [loco] Add LEP_000 document

This commit adds LEP_000 document which proposes a design change over
loco IR.

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

* Rename and add heading

* Add a comment

4 years ago[loco] Implement TensorBoradcast::Mapping methods (#7279)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 07:08:55 +0000 (16:08 +0900)]
[loco] Implement TensorBoradcast::Mapping methods (#7279)

This commit adds missing TensorBroadcast::Mapping method implementations
with related tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years agoIntroduce fipe library (#7281)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 07:08:07 +0000 (16:08 +0900)]
Introduce fipe library (#7281)

* Introduce fipe library

This commit introduces fipe, which permits function chaining with
UNIX pipe-like syntax.

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

* Add a comment

4 years ago[logo] Use GTest_AddTest helper (#7285)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 07:07:08 +0000 (16:07 +0900)]
[logo] Use GTest_AddTest helper (#7285)

This commit simplifies logo's CMakeLists.txt using GTest_AddTest.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[exo-tflite] Move Convert.h/cpp, GraphBlock.h/cpp to src (#7291)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 07:02:30 +0000 (16:02 +0900)]
[exo-tflite] Move Convert.h/cpp, GraphBlock.h/cpp to src (#7291)

Convert.h/cpp, GraphBlock.h/cpp are moved into src.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[neurun] Apply TensorManager instead of MemoryManager (#7251)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 9 Sep 2019 06:07:33 +0000 (15:07 +0900)]
[neurun] Apply TensorManager instead of MemoryManager (#7251)

* [neurun] Apply TensorManager instead of MemoryManager

Apply TensorManager instead of MemoryManager. It looks huge but there
are the only many changes instead TensorManager of MemoryManager

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* Fix format

* Adding finalize() and moving wrap_tensor() in dataflow

* Fix wrong code in dataflow

4 years ago[exo-tflite] Adding test assert into TFLTypeInferenceRuleTest (#7284)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 04:32:36 +0000 (13:32 +0900)]
[exo-tflite] Adding test assert into TFLTypeInferenceRuleTest (#7284)

This adds more asserts into the test body of TFLTypeInferenceRuleTest.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] Adding test assert into TFLShapeInferenceRuleTest (#7283)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 04:20:04 +0000 (13:20 +0900)]
[exo-tflite] Adding test assert into TFLShapeInferenceRuleTest (#7283)

This adds more asserts into the test body of TFLShapeInferenceRuleTest.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] Attaching progress reporter into convert_to_TFLNodes() (#7280)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 03:42:48 +0000 (12:42 +0900)]
[exo-tflite] Attaching progress reporter into convert_to_TFLNodes() (#7280)

This attaches progress reporter into the phase of convert_to_TFLNodes().

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] Helper macro and class for test (#7255)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 03:38:09 +0000 (12:38 +0900)]
[exo-tflite] Helper macro and class for test (#7255)

* [exo-tflite] Helper macro and class for test

Adding a macro to count the number of node and a class to easily run a pass to test.

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

4 years ago[tflite_loader] Implemented TransposeConv node conversion (#7268)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Sep 2019 03:04:41 +0000 (06:04 +0300)]
[tflite_loader] Implemented TransposeConv node conversion (#7268)

* [tflite_loader] Implemented TransposeConv node conversion

Implemented transpose conv node conversion

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
* Fixed formatting

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
4 years ago[custom op] Fix custom kernel configuration (#7238)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Sep 2019 01:48:42 +0000 (04:48 +0300)]
[custom op] Fix custom kernel configuration (#7238)

Previously tensor address was accidently passed instead of tensor buffer
Correctly store userdata_size insude CustomKernel::configure

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years ago[tflite_loader] Implemented Mean node conversion (#7267)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Sep 2019 01:45:41 +0000 (04:45 +0300)]
[tflite_loader] Implemented Mean node conversion (#7267)

* [tflite_loader] Implemented Mean node conversion

* implemented Mean node conversion
* changed MeanNode keep_dims param type to bool

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
* Fixed formatting

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
4 years ago[loco] Introduce ShapeInferenceRule v2 API (#7265)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 01:43:53 +0000 (10:43 +0900)]
[loco] Introduce ShapeInferenceRule v2 API (#7265)

This commit extends ShapeInferenceRule with a new version of infer API.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[loco] Introduce TensorBroadcast node (#7262)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Sep 2019 01:38:17 +0000 (10:38 +0900)]
[loco] Introduce TensorBroadcast node (#7262)

This commit extends loco.canonical with TensorBroadcast node.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[moco-tf] Introduce shape_inference_done (#7276)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 9 Sep 2019 01:34:46 +0000 (10:34 +0900)]
[moco-tf] Introduce shape_inference_done (#7276)

This will introduce shape_inference_done() method in FixShapeTransform as a helper function not to directly access ShapeInferenceData annotation to check shape inference is done or not

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[mir] Refactor graph dot dumper (#7273)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Sep 2019 21:11:14 +0000 (00:11 +0300)]
[mir] Refactor graph dot dumper (#7273)

Refactor graph dot dumper to loosen dependencies.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[nnc] Use dumpGraph function (#7243)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Sep 2019 18:28:41 +0000 (21:28 +0300)]
[nnc] Use dumpGraph function (#7243)

Use `dumpGraph` function instead of `IrDotDumper` class.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[moco-tf] Remove unused code in FixShapeTransform (#7266)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 10:25:35 +0000 (19:25 +0900)]
[moco-tf] Remove unused code in FixShapeTransform (#7266)

This will remove unused code in FixShapeTransform
- Shape inference for canonical dialect nodes are handled by loco service

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[exo-tflite] Put "exo::" prefix (to easily distinguish log from exo) (#7258)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 10:25:20 +0000 (19:25 +0900)]
[exo-tflite] Put "exo::" prefix (to easily distinguish log from exo) (#7258)

It is difficult to tell which (moco? exo-tflite?) prints log. So, "exo::" prefix is added for exo-tflite.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years agoCheck OOR exception intflite_benchmark (#7260)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 10:15:57 +0000 (19:15 +0900)]
Check OOR exception intflite_benchmark (#7260)

Add try-catch to catch OOR exception by substr

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years ago[exo-tflite] Adding ReluConverter into convert_to_TFLNodes() (#7257)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 09:00:47 +0000 (18:00 +0900)]
[exo-tflite] Adding ReluConverter into convert_to_TFLNodes() (#7257)

* [exo-tflite] Adding ReluConverter into convert_to_TFLNodes()

This adds ReluConverter and type/shape inference into convert_to_TFLNodes().

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

4 years ago[res] TF test for Add broadcast with const scala (#7250)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 08:58:09 +0000 (17:58 +0900)]
[res] TF test for Add broadcast with const scala (#7250)

This will add TF test material of Add operator with rank 4 tensor with const scala

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[moco-tf] Skip canonical node fix shape (#7244)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 08:57:46 +0000 (17:57 +0900)]
[moco-tf] Skip canonical node fix shape (#7244)

This will skip canonical nodes fix shapes that is done as loco service
- Pull and Push nodes are still called as they exist in import

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[moco-tf] Fix SquaredDifferenceCanonicalizer (#7245)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 08:57:22 +0000 (17:57 +0900)]
[moco-tf] Fix SquaredDifferenceCanonicalizer (#7245)

This will fix SquaredDifferenceCanonicalizer to check input nodes shape

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[moco-tf] Remove unused ForwardShapeInferenceAlgorithm (#7246)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 08:57:00 +0000 (17:57 +0900)]
[moco-tf] Remove unused ForwardShapeInferenceAlgorithm (#7246)

This will remove not used anymore ForwardShapeInferenceAlgorithm

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[res] Conv2DBackpropInput with 3x3 stride 2 (#7194)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 08:55:56 +0000 (17:55 +0900)]
[res] Conv2DBackpropInput with 3x3 stride 2 (#7194)

This will add TensorFlow test material for Conv2DBackpropInput with 3x3 filter and stride 2

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years agoIntroduce bino (#7247)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 08:29:06 +0000 (17:29 +0900)]
Introduce bino (#7247)

This commit introduces bino, a library that facilitates std::pair
manipulation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[exo-tflite] change TODO (TFL node list to canonical node list) (#7256)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 07:46:11 +0000 (16:46 +0900)]
[exo-tflite] change TODO (TFL node list to canonical node list) (#7256)

Changing TODO list from (wrong) TFL node list to canonical node list.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[res] TF Test for Instance normalization (#7198)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 6 Sep 2019 07:33:46 +0000 (16:33 +0900)]
[res] TF Test for Instance normalization (#7198)

This will add TF network test material of small input size of Instance normalization

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[loco] Do NOT invoke shape_get directly (#7231)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 07:27:46 +0000 (16:27 +0900)]
[loco] Do NOT invoke shape_get directly (#7231)

This commit replaces all the loco::shape_get calls in ForwardShapeInferenceAlgorithm
implemention with "node_shape" method to facilitate refactoring.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[locop] Introduce ExampleGraph (#7229)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 06:45:21 +0000 (15:45 +0900)]
[locop] Introduce ExampleGraph (#7229)

Let's reuse common test code.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years agoRemove CLPermuteEx layer and kernel (#7253)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 05:53:44 +0000 (14:53 +0900)]
Remove CLPermuteEx layer and kernel (#7253)

CLPermuteEx is not used anymore in neurun
-  Remove this implementation
-  Fix pacl to use CLPermute (used in neurun acl-cl backend)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years ago[neurun] Implemented test for scheduler profiling mode (#7034)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Sep 2019 05:53:07 +0000 (08:53 +0300)]
[neurun] Implemented test for scheduler profiling mode (#7034)

Implemented test for scheduler with enabled profiling mode
Fixed scheduling order by increasing et of one branch

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
4 years agoRemove GenericFullyConnectedLayer implementation (#7252)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 05:38:23 +0000 (14:38 +0900)]
Remove GenericFullyConnectedLayer implementation (#7252)

GenericFullyConnectedLayer is not used anymore in neurun
- Remove this implementation
- Fix pacl to use CLFullyconnectedReshpingLayer (used in neurun acl-cl backend)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years agoAdd nnpkg test in coverage test (#7249)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 04:26:13 +0000 (13:26 +0900)]
Add nnpkg test in coverage test (#7249)

Run nnpkg test for coverage test if nnpkg test suite exists

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years agoUse option for srcn kernel build (#7222)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Sep 2019 03:40:17 +0000 (12:40 +0900)]
Use option for srcn kernel build (#7222)

Change to use srcn kernel build option BUILD_SRCN_KERNEL

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years ago[moco-tf] Remove canonical concat axis test (#7230)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 23:03:38 +0000 (08:03 +0900)]
[moco-tf] Remove canonical concat axis test (#7230)

This will remove Canonical Concat IR test for axis
- Canonical IRs will not be handled in shape inference anymore
- Current Concat axis calculation is done in shape inference step

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[mir] Add dumpGraph function (#7242)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 19:29:16 +0000 (22:29 +0300)]
[mir] Add dumpGraph function (#7242)

Add `dumpGraph` function as a future replacement of `IrDotDumper`.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[mir] Revive IVisitor in proper way (#6657)
Alexander Efimov/AI Tools Lab/./Samsung Electronics [Thu, 5 Sep 2019 17:26:41 +0000 (20:26 +0300)]
[mir] Revive IVisitor in proper way (#6657)

Return IVisitor as a strict version of Visitor
Propose to not use IVisitor outside of MIR component
Add missing includes and licenses

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[nnc] Add missing include (#7241)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 17:10:47 +0000 (20:10 +0300)]
[nnc] Add missing include (#7241)

Add missing include of `Visitor.h`.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[mir2loco] Add missing include (#7240)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 17:10:19 +0000 (20:10 +0300)]
[mir2loco] Add missing include (#7240)

Add missing include of `Visitor.h`.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[mir] Make Shape constructor explicit (#7239)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 16:18:05 +0000 (19:18 +0300)]
[mir] Make Shape constructor explicit (#7239)

Make `Shape` constructor explicit again.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years ago[nnc] Remove conversions of strides vector to Shape (#7237)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 13:58:48 +0000 (16:58 +0300)]
[nnc] Remove conversions of strides vector to Shape (#7237)

Remove implicit conversions of strides to `Shape`.
Add helper functions to work with strides.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
4 years agoEnable some tests for acl neon (#7235)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 5 Sep 2019 12:33:07 +0000 (21:33 +0900)]
Enable some tests for acl neon (#7235)

This commit eanbles some tests for acl neon.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
4 years ago[custom op] (fix) Implement missing ShapeFixer method in cpu backend (#7236)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 12:13:19 +0000 (15:13 +0300)]
[custom op] (fix) Implement missing ShapeFixer method in cpu backend (#7236)

Provide empty imlpementation for ShapeFixer::visit(CustomNode&)

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years agoUpdate `tflite_convert.sh` script (#6869)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 11:24:29 +0000 (04:24 -0700)]
Update `tflite_convert.sh` script (#6869)

- Change to use the 'tensorflow' module installed on the system by
  default.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
4 years agoEnable Split op for ACL neon (#7226)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 5 Sep 2019 11:16:37 +0000 (20:16 +0900)]
Enable Split op for ACL neon (#7226)

This commit enables to support Split op for ACL neon.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
4 years agoUse type convert helper in tflite loader (#7232)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 11:16:03 +0000 (20:16 +0900)]
Use type convert helper in tflite loader (#7232)

Use activation type convert helper for sub operation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years agoEnable binary Logical ops for ACL neon (#7233)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 5 Sep 2019 11:15:52 +0000 (20:15 +0900)]
Enable binary Logical ops for ACL neon (#7233)

This commit enables to support binary Logical ops for ACL neon.
  - Implement kernel of acl_neon for binary logical ops
  - Enable to support these ops for acl_neon on the neurun

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
4 years ago[custom op] Implement custom operation loading in tflite_loader (#7182)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 10:14:25 +0000 (13:14 +0300)]
[custom op] Implement custom operation loading in tflite_loader (#7182)

Load custom operations during model input
Loader assumes custom operations were already registered before model loading
Pass userdata size to CustomNode constructor
update custom op creation

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years ago[mocotest-tf] Enable UNIT_StopGradient_001 (#7224)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:36:53 +0000 (18:36 +0900)]
[mocotest-tf] Enable UNIT_StopGradient_001 (#7224)

This will enable UNIT_StopGradient_001 that is rank 4 test of StopGradient

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[tf2tflite] Enable UNIT_StopGradient_001 (#7223)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:36:33 +0000 (18:36 +0900)]
[tf2tflite] Enable UNIT_StopGradient_001 (#7223)

This will enable UNIT_StopGradient_001 that is rank 4 test of StopGradient

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[exo-tflite] introducing TypeInferencePass (#7225)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:35:41 +0000 (18:35 +0900)]
[exo-tflite] introducing TypeInferencePass (#7225)

TypeInferencePass annotates dtype of nodes (canonical/TFL/COp nodes).

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] Introducing ProgressReporter listner (#7221)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:34:19 +0000 (18:34 +0900)]
[exo-tflite] Introducing ProgressReporter listner (#7221)

* [exo-tflite] Introducing ProgressReporter listner

ProgressReporter is copied from moco-tf to print information before/after phase.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* CI error -> remove unused parameter

4 years ago[exo-tflite] Adding list of converters as TODO (#7228)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:33:45 +0000 (18:33 +0900)]
[exo-tflite] Adding list of converters as TODO (#7228)

This adds list of converters as TODO.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] Prepare slots for template initialization (#7227)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:07:15 +0000 (18:07 +0900)]
[exo-tflite] Prepare slots for template initialization (#7227)

This adds slots for template initialization in CanonicalNodeConverter, which prevents code conflict.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[cusop] replace new with make_shared (#7211)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 09:06:06 +0000 (18:06 +0900)]
[cusop] replace new with make_shared (#7211)

custom::KernelRegistry will be created with make_shared.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
4 years ago[custom op] Build custom kernels (#6964)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 08:35:07 +0000 (11:35 +0300)]
[custom op] Build custom kernels (#6964)

* [custom op] Build custom kernels

Update cpu backend's `KernelGenerator` to build custom operation kernels

* Fix allocations in custom node kernel generator

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years agoAdd new backend for srcn (#7132)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 08:32:18 +0000 (17:32 +0900)]
Add new backend for srcn (#7132)

* [neurun] Add new backend for srcn

This patch has a basic framework for adding new backend.
In practice, normal behavior is not implemented.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Fix an issue where arm_neon.h file is not always found

4 years ago[moco-tf] Return for ShapeInferencePass (#7220)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 08:21:55 +0000 (17:21 +0900)]
[moco-tf] Return for ShapeInferencePass (#7220)

This will return value from loco shape inference in ShapeInferencePass

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[moco-tf] Use loco::shape in import (#7217)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 08:19:36 +0000 (17:19 +0900)]
[moco-tf] Use loco::shape in import (#7217)

This will revise import to use loco shape instead of ShapeInferenceData
- also add guards for safety

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[loco] Enhancing TypeInference::to() (#7206)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 08:10:12 +0000 (17:10 +0900)]
[loco] Enhancing TypeInference::to() (#7206)

Now 1) TypeInference::to()returns bool 2) checks previously inferred dtype

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] Introducing ReluConverter (#7216)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 08:07:23 +0000 (17:07 +0900)]
[exo-tflite] Introducing ReluConverter (#7216)

This converter converts loco::Relu to locoex::TFLRelu.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[moco-tf] Skip FuseBinaryIntoPreceding on Scalar (#7219)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 08:02:19 +0000 (17:02 +0900)]
[moco-tf] Skip FuseBinaryIntoPreceding on Scalar (#7219)

The current implementation of FuseBinaryIntoPreceding gets stuck when
it encounters scalar constants.

Let's make FuseBinaryIntoPreceding skip on this case.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[custom op] Free custom op userdata in CustomNode destructor (#7213)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Sep 2019 07:54:48 +0000 (10:54 +0300)]
[custom op] Free custom op userdata in CustomNode destructor (#7213)

- Makes userdata sized as this is required to use tflite flexbuffers format
- Changes userdata type to char* in order to properly delete it
- initialize custom kernel fields
- free memory using delete[]

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
4 years ago[cus_op] remove unnecessary header dependency in nnfw_dev.hpp (#7209)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 07:50:36 +0000 (16:50 +0900)]
[cus_op] remove unnecessary header dependency in nnfw_dev.hpp (#7209)

Move the include to implementation to remove depedencies.

Forwarding declarations are enough:
- Execution.h
- Graph.h
- CustomKernelRegistry.h

Unnecessary dependency:
- compiler/Compiler.h

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
4 years ago[locop] Use shared FormattedTensorShape (#7212)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 07:40:25 +0000 (16:40 +0900)]
[locop] Use shared FormattedTensorShape (#7212)

The current implementation of CanonicalNodeSummaryBuilder implements its
own TensorShape formatter.

Let's replace this local formater with the shared one.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[locop] Show value domain (#7202)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 07:38:51 +0000 (16:38 +0900)]
[locop] Show value domain (#7202)

LinearV1 Graph Formatter now shows domain if domain(shape) is known.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years ago[moco_tf] Do shape and type inference in TFOptimizer (#7215)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 07:21:13 +0000 (16:21 +0900)]
[moco_tf] Do shape and type inference in TFOptimizer (#7215)

This will run Shape and Type inference while TF dialect optimizations

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[exo-tflite] introducing ShapeInferencePass (#7214)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 07:07:26 +0000 (16:07 +0900)]
[exo-tflite] introducing ShapeInferencePass (#7214)

ShapeInferencePass annotates shape of nodes (canonical/TFL/COp nodes).

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] type inference for TFLRelu (#7208)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 06:55:08 +0000 (15:55 +0900)]
[exo-tflite] type inference for TFLRelu (#7208)

This adds type inference for TFLRelu.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[exo-tflite] shape inference for TFLRelu (#7210)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 06:53:12 +0000 (15:53 +0900)]
[exo-tflite] shape inference for TFLRelu (#7210)

This adds shape inferene for TFLRelu.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years agoScripts to make nnpkg testsuite and test (#7199)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 06:19:55 +0000 (15:19 +0900)]
Scripts to make nnpkg testsuite and test (#7199)

- Introduce script to make nnpkg testsuite in CI build server
- Introduce script to test nnpkg testsuite in xu4 farm

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years agoEnable Pad op for ACL neon (#7205)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 5 Sep 2019 06:15:21 +0000 (15:15 +0900)]
Enable Pad op for ACL neon (#7205)

This commit enables to support Pad op for ACL neon.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
4 years ago[locoex] Enhance COpTypeInference test (#7204)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:51:09 +0000 (14:51 +0900)]
[locoex] Enhance COpTypeInference test (#7204)

This includes CanonicalTypeInferenceRule check. This is required for future change of loco::TypeInference, which looks into the dtype of all input nodes. So, the type of loco::Pull should be inferred to infer the type of locoex::COpCall.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years agoUpdate armcl-ex library cmake (#7167)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 05:27:21 +0000 (14:27 +0900)]
Update armcl-ex library cmake (#7167)

Use finding arm compute package instead of  checking target arch
Use target_compile_definition for preprocessor and merge

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
4 years ago[res] TF test for SquaredDifference broadcast (#7190)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:26:44 +0000 (14:26 +0900)]
[res] TF test for SquaredDifference broadcast (#7190)

This will add SquaredDifference test material for broadcast operation

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[res] TF test for Add broadcast with scala (#7195)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:26:12 +0000 (14:26 +0900)]
[res] TF test for Add broadcast with scala (#7195)

This will add TF test material of Add operator with rank 4 tensor with scala

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[moco-tf] Use ShapeInferenceData for rule (#7184)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:25:35 +0000 (14:25 +0900)]
[moco-tf] Use ShapeInferenceData for rule (#7184)

* [moco-tf] Use ShapeInferenceData for rule

This will revise TFShapeInferenceRule infer to directly use ShapeInferenceData

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

4 years ago[res] TF test for rank 4 StopGradient (#7191)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:25:07 +0000 (14:25 +0900)]
[res] TF test for rank 4 StopGradient (#7191)

This will add TensorFlow test material for rank 4 StopGradient operator

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[res_tf] TF test for Sub broadcast (#7192)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:24:40 +0000 (14:24 +0900)]
[res_tf] TF test for Sub broadcast (#7192)

This will add TensorFlow test material for Sub broadcast operation

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
4 years ago[exo-tflite] Added TODO for each TFL Nodes in shape & type inference code (#7203)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Sep 2019 05:24:21 +0000 (14:24 +0900)]
[exo-tflite] Added TODO for each TFL Nodes in shape & type inference code (#7203)

This creates a slots for visit() of each TFL node.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
4 years ago[loco] Introduce TensorAxis header (#7188)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 05:22:56 +0000 (14:22 +0900)]
[loco] Introduce TensorAxis header (#7188)

Currently, PermutingCodec internally declares TensorAxis alias.
Let's extract this as a separate header and reuse it!

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years agoEnable LSTM op for ACL neon (#7201)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 5 Sep 2019 05:22:52 +0000 (14:22 +0900)]
Enable LSTM op for ACL neon (#7201)

This commit enables to support LSTM op for ACL neon.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
4 years ago[locop] NodeSummary with Comments (#7193)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 05:22:34 +0000 (14:22 +0900)]
[locop] NodeSummary with Comments (#7193)

This commit allows usersr to add multi-line comments to NodeSummary, and
revises LinearV1 Graph Formatter to show these comments properly.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
4 years agoEnable LocalResponseNormalization op for ACL neon (#7149)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 5 Sep 2019 05:22:17 +0000 (14:22 +0900)]
Enable LocalResponseNormalization op for ACL neon (#7149)

This commit enables to support LocalResponseNormalization op for ACL neon.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
4 years agoIntroduce tfts v0.1 (#7165)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Sep 2019 05:11:44 +0000 (14:11 +0900)]
Introduce tfts v0.1 (#7165)

* Introduce tfts v0.1

This commit introduces TensorFlow Testcase Service (tfts) v0.1.

The current version supports basic shape check on TensorFlow testcases
through nnkit-tf.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use simple tfts_check instead of tfts_shape_check