platform/core/ml/nnfw.git
5 years ago[nnc] Reorganize the ModelIR include directory (#3065)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 11 Mar 2019 17:23:36 +0000 (20:23 +0300)]
[nnc] Reorganize the ModelIR include directory (#3065)

Move `contrib/nnc/include/core/modelIR` to `contrib/nnc/include/mir` in preparation for moving the MIR component to `contrib` directory.
Update `#include` directives.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Make namespace `mir` top-level (#3064)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 11 Mar 2019 13:13:33 +0000 (16:13 +0300)]
[nnc] Make namespace `mir` top-level (#3064)

Extract namespace `mir` out of namespace `nnc` in preparation to move the ModelIR to the `contrib` directory.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[enco] Introduce BypassGenerationPass (#3062)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Mar 2019 10:35:11 +0000 (19:35 +0900)]
[enco] Introduce BypassGenerationPass (#3062)

Let's introduce and use BypassGenerationPass in enco backend
implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce ConcatLoweringPass (#3061)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Mar 2019 10:07:33 +0000 (19:07 +0900)]
[enco] Introduce ConcatLoweringPass (#3061)

This commit introduces ConcatLoweringPass and updates the backend to use
it instead of lower_concat function.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce CopyLoweringPass (#3060)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Mar 2019 08:15:32 +0000 (17:15 +0900)]
[enco] Introduce CopyLoweringPass (#3060)

This commit introduces CopyLoweringPass and updates the backend
implementation to use this new pass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce DeadObjectEliminationPass (#3059)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Mar 2019 07:13:34 +0000 (16:13 +0900)]
[enco] Introduce DeadObjectEliminationPass (#3059)

This commit introduces DeadObjectEliminationPass and revises the backend
implementation to use this new pass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce ConstantFoldingPass (#3058)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Mar 2019 05:20:17 +0000 (14:20 +0900)]
[enco] Introduce ConstantFoldingPass (#3058)

This commit introduces ConstantFoldingPass and revises backend
implementation to use this ConstantFoldingPass pass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce DuplicatedObjectReductionPass (#3057)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Mar 2019 02:19:12 +0000 (11:19 +0900)]
[enco] Introduce DuplicatedObjectReductionPass (#3057)

This commit introduces DuplicatedObjectReductionPass and revises
backend implementation to use this new pass implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce IdenticalObjectReductionPass (#3056)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Mar 2019 23:32:28 +0000 (08:32 +0900)]
[enco] Introduce IdenticalObjectReductionPass (#3056)

Let's re-implement Identical Object Reduction using Pass and
Pipeline infrastructure.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce IndirectCopyElimination (#3055)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Mar 2019 07:33:52 +0000 (16:33 +0900)]
[enco] Introduce IndirectCopyElimination (#3055)

This commit introduces and uses IndirectCopyElimination pass in
compilation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce DataLayoutConversionPass (#3053)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Mar 2019 02:01:49 +0000 (11:01 +0900)]
[enco] Introduce DataLayoutConversionPass (#3053)

Let's introduce and use DataLayoutConversionPass instead of
convert_layout method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove commented 'at' test for KernelObject (#3051)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 7 Mar 2019 06:10:48 +0000 (15:10 +0900)]
[coco] Remove commented 'at' test for KernelObject (#3051)

This previously commented test is removed as it is fully moved to test
of KernelLayout. 'at' function is now responsible to KernelLayout.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[enco] Introduce IntrinsicSelectionPass (#3050)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Mar 2019 04:39:57 +0000 (13:39 +0900)]
[enco] Introduce IntrinsicSelectionPass (#3050)

This commit rewrites intrinsic selection using recently introduced
Pass infrastructure.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce AvgPoolLoweringPass (#3049)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Mar 2019 03:36:55 +0000 (12:36 +0900)]
[enco] Introduce AvgPoolLoweringPass (#3049)

Let's access lower_avgpool through AvgPoolLoweringPass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce FeatureUnificationPass (#3048)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Mar 2019 02:28:35 +0000 (11:28 +0900)]
[enco] Introduce FeatureUnificationPass (#3048)

This commit introduces FeatureUnificationPass which wraps unify_feature
optimization function, and uses it instead of unify_feature.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce BagDuplicationPass (#3046)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 6 Mar 2019 10:51:28 +0000 (19:51 +0900)]
[enco] Introduce BagDuplicationPass (#3046)

This commit introduces BagDuplicationPass which wraps
"duplicate_inout_bag" optimization method, and updates Backend
implementation to use this pass instead of optimization method
itself.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce Pass & Pipeline classes (#3045)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 6 Mar 2019 07:42:34 +0000 (16:42 +0900)]
[enco] Introduce Pass & Pipeline classes (#3045)

This commit introduces Pass and Pipeline classes (along with their
unittest) which serves as basic infrastructure for configurable
compilation pipeline.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco/gdb] Upgrade enco dump for instruction in gdb (#3035)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Mar 2019 09:22:07 +0000 (18:22 +0900)]
[enco/gdb] Upgrade enco dump for instruction in gdb (#3035)

* [enco/gdb] Upgrade enco dump for instruction in gdb

Add enco_dump_instr function in gdb

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Add todo comments

5 years ago[flchef] Add FullyConnected for reverse (#3038)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 20 Feb 2019 08:44:28 +0000 (17:44 +0900)]
[flchef] Add FullyConnected for reverse (#3038)

This will add FullyConnected for tflchef-reverse

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tflchef] Add FullyConnected test recipe for 4D input (#3037)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Sun, 17 Feb 2019 22:18:10 +0000 (07:18 +0900)]
[tflchef] Add FullyConnected test recipe for 4D input (#3037)

* [tflchef] Add FullyConnected test recipe for 4D input

This will add another test.recipe for FullyConnected op that has the same shape as inception v3

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

5 years ago[nnc] Remove Elementwise helper class from interpreter backend (#3032)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 14 Feb 2019 12:21:47 +0000 (15:21 +0300)]
[nnc] Remove Elementwise helper class from interpreter backend (#3032)

Remove Elementwise helper class from the interpreter backend to improve code readability.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoDistinguish (none) and (unknown) type in producer info. (#3024)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 14 Feb 2019 05:10:34 +0000 (14:10 +0900)]
Distinguish (none) and (unknown) type in producer info. (#3024)

This patch allows to distinguish (none) and (unknown) type in producer info.
The (none) means that there is no definition of producer.
The (unknown) means that it is generated unknown place.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[nnc] Perform constant folding at import stage in TensorFlow Lite importer (#3031)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 13 Feb 2019 19:03:37 +0000 (22:03 +0300)]
[nnc] Perform constant folding at import stage in TensorFlow Lite importer (#3031)

* Add constant folding to StridedSlice and Mul converters to support a common pattern Shape->StridedSlice->Mul->ResizeNearestNeighbor.
* Split converters of binary elementwise operations into separate functions.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Support for TensorFlow Lite SHAPE operator (#3025)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 12 Feb 2019 17:49:19 +0000 (20:49 +0300)]
[nnc] Support for TensorFlow Lite SHAPE operator (#3025)

Initial support for TensorFlow Lite SHAPE operator in short term.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Introduce Compose Transposes optimization (#2972)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 12 Feb 2019 16:48:50 +0000 (19:48 +0300)]
[nnc] Introduce Compose Transposes optimization (#2972)

This PR Introduces `Combine Transposes` optimization which combines adjacent transposes and eliminates the noop ones.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[caffegen] Resolve ODR violation (#3022)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Feb 2019 23:55:18 +0000 (08:55 +0900)]
[caffegen] Resolve ODR violation (#3022)

To resolve ODR violation, this commit updates caffegen not to have
caffeproto as its direct dependency.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco/gdb] Print out the producer info. of object (#3005)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 11 Feb 2019 11:42:16 +0000 (20:42 +0900)]
[enco/gdb] Print out the producer info. of object (#3005)

* [enco/gdb] Print out the producer info. of object

This patch allows print out the producer information of object

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Introduce def_kind function

* Add shuffle case

5 years ago[enco.core] Use project-wide build options (#3020)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Feb 2019 08:09:36 +0000 (17:09 +0900)]
[enco.core] Use project-wide build options (#3020)

With this commit, project-wide build options are applied to enco_core
library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Invoke ANeuralNetworksEvent_free in cpp file (#3019)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 11 Feb 2019 08:09:23 +0000 (17:09 +0900)]
[enco] Invoke ANeuralNetworksEvent_free in cpp file (#3019)

Until now, c++ code that enco NNAPI backend generates didn't invoke `ANeuralNetworksEvent_free`
This commit will fix it

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
5 years ago[enco.core] Explicit dependent library visibility (#3018)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Feb 2019 02:00:45 +0000 (11:00 +0900)]
[enco.core] Explicit dependent library visibility (#3018)

This commit makes the visibility of enco_core's dependent libraries
explicit.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.generic] Apply project-wide build options (#3016)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Feb 2019 00:23:09 +0000 (09:23 +0900)]
[coco.generic] Apply project-wide build options (#3016)

With this commit, project-wide build(compile) options are applied to
coco_generic library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.core] Resolve sign-compare warning (#3015)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Feb 2019 23:43:43 +0000 (08:43 +0900)]
[enco.core] Resolve sign-compare warning (#3015)

This commit resolves a sign-compare warning in enco_core implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.core] Resolve unused variable/parameter warnings (#3014)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Feb 2019 23:43:34 +0000 (08:43 +0900)]
[enco.core] Resolve unused variable/parameter warnings (#3014)

This commit resolves unused variable/parameter warnings in enco_core
library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Redesign Model IR. Part 2. (#3017)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 8 Feb 2019 13:41:37 +0000 (16:41 +0300)]
[nnc] Redesign Model IR. Part 2. (#3017)

* Remove `IODescriptor` type alias.
* Add non-const variants of `getNode` method to `Operation::Output` and `Operation::Input` classes.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Redesign IR. Part 1. (#2998)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 8 Feb 2019 10:01:38 +0000 (13:01 +0300)]
[nnc] Redesign IR. Part 1. (#2998)

Introduce Input and Output classes that serve as inputs and outputs of a graph node.
Refactor other parts of the compiler to account for this change.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[enco.core] Resolve return-type-c-linkage warning (#3012)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Feb 2019 02:24:06 +0000 (11:24 +0900)]
[enco.core] Resolve return-type-c-linkage warning (#3012)

This commit resolves return-type-c-linkage warning that Clang reports
during build.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.generic] Declare visibility explicitly (#3009)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Feb 2019 01:43:03 +0000 (10:43 +0900)]
[coco.generic] Declare visibility explicitly (#3009)

This commit updates coco_generic build script to declare visibilties of
each dependent libraries explicitly.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco-cli] Apply project-wide compile options (#3011)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Feb 2019 01:39:58 +0000 (10:39 +0900)]
[enco-cli] Apply project-wide compile options (#3011)

This commit applies project-wide compile options to enco-cli.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce KernelLayouts.test.cpp (#3006)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 8 Feb 2019 00:01:58 +0000 (09:01 +0900)]
[coco] Introduce KernelLayouts.test.cpp (#3006)

* [coco] Introduce KernelLayouts.test.cpp

This commit adds tests for NCHW, NHWC and Generic kernel layouts.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
* Reordering header files

* Refactor test name more specifically

* Introduce Generic_at test

* Call both const and non-const Generic::at()

5 years ago[tfkit] Support encode (#3007)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Feb 2019 07:57:12 +0000 (16:57 +0900)]
[tfkit] Support encode (#3007)

This commit extends tfkit with encode command which allows users to
convert a textual graph def into a binary form.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfkit] Initial commit (#3004)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Feb 2019 06:28:18 +0000 (15:28 +0900)]
[tfkit] Initial commit (#3004)

This commit introduces tfkit which allows users to inspect tensorflow
graphdef files (.pb) with command-line interface.

The current implementation includes only "decode" command.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.core] Apply strict compilation options (#3002)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Feb 2019 04:42:03 +0000 (13:42 +0900)]
[coco.core] Apply strict compilation options (#3002)

* [coco.core] Apply strict compilation options

With this change, warnings in coco_core library (not its test) are
treated as an error when ENABLE_STRICT_BUILD is on.

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

5 years ago[coco.core] Comment out unused arguments (#2990)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 6 Feb 2019 23:59:16 +0000 (08:59 +0900)]
[coco.core] Comment out unused arguments (#2990)

This commit comments out unused arguments from BC layout implementation
to suppress unused variable warning.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.core] Remove unused operator overloading (#2991)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 6 Feb 2019 23:58:58 +0000 (08:58 +0900)]
[coco.core] Remove unused operator overloading (#2991)

This commit removes unused operator overloading in Shuffle.cpp.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Removed unused variables (#3000)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 4 Feb 2019 16:25:34 +0000 (19:25 +0300)]
[nnc] Removed unused variables (#3000)

Removed unused variables from op creators

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Use getShape instead of directly accessing IODescriptor fields (#2999)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 4 Feb 2019 11:40:44 +0000 (14:40 +0300)]
[nnc] Use getShape instead of directly accessing IODescriptor fields (#2999)

Use `getShape` method of `IODescriptor` instead of accessing its fields.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Scale op NEON implementation (#2995)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 1 Feb 2019 12:35:57 +0000 (15:35 +0300)]
[nnc] Scale op NEON implementation (#2995)

* Adapt BiasAdd operation NEON implementation for Scale

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years ago[nnc] Fixed all integer overflow/underflow issues in cpu artifact snippets (#2981)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 1 Feb 2019 09:58:03 +0000 (12:58 +0300)]
[nnc] Fixed all integer overflow/underflow issues in cpu artifact snippets (#2981)

Added explicit static casts where converting between different external types( Shape, RuntimeShape, Dims<> )

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years ago[nnc] Eliminate redundant memory copy (#2984)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 1 Feb 2019 09:52:37 +0000 (12:52 +0300)]
[nnc] Eliminate redundant memory copy (#2984)

Do not copy memory in `Tensor::operator=` in case of constant argument

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoDownload ONNX by default (#2974)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 1 Feb 2019 03:57:35 +0000 (12:57 +0900)]
Download ONNX by default (#2974)

With this commit, DOWNLOAD_ONNX is set as ON by default.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.core] Explicitly specify link visibility (#2978)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 1 Feb 2019 01:43:21 +0000 (10:43 +0900)]
[coco.core] Explicitly specify link visibility (#2978)

This commit specifies link visibility over dependent libraries.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco/gdb] Add load details (#2980)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 1 Feb 2019 00:19:38 +0000 (09:19 +0900)]
[enco/gdb] Add load details (#2980)

This patch will allow the enco_dump_op and enco_dump_all_ops function
to output an information about object of Load operator.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[nnc] Fix Graph.ReplaceInputs test (#2985)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 31 Jan 2019 19:07:10 +0000 (22:07 +0300)]
[nnc] Fix Graph.ReplaceInputs test (#2985)

Adjust test to new IR behavior: order of input nodes is not deterministic.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Initial optimization Pass (#2940)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 31 Jan 2019 15:59:19 +0000 (18:59 +0300)]
[nnc] Initial optimization Pass (#2940)

Initial support for transpose composition
Added a `Matcher` class for matching graph patterns

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[nnc] Fix svace error (#2982)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 31 Jan 2019 15:52:16 +0000 (18:52 +0300)]
[nnc] Fix svace error (#2982)

Fixed "Major" and "Critical" errors of svace

Signed-off-by: Dilshodzhon Poshshoev <d.poshshoev@samsung.com>
5 years ago[nnc] Change interpreter compiler option (#2973)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 31 Jan 2019 12:05:59 +0000 (15:05 +0300)]
[nnc] Change interpreter compiler option (#2973)

Replace interpreter compiler option "--input-model-data" with "--input-data-dir". The latter specifies directory in which the data files for the model inputs can be found.
Refactor interpreter to account for this change.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoReset internal variables before use (#2975)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 31 Jan 2019 04:50:59 +0000 (13:50 +0900)]
Reset internal variables before use (#2975)

This commit revises Protobuf_Generate to reset internal variables before
using them.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tflchef] Add Sqrt for reverse (#2969)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 31 Jan 2019 03:49:03 +0000 (12:49 +0900)]
[tflchef] Add Sqrt for reverse (#2969)

This commit adds Sqrt Op for reverse.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoUse Protocol Buffer 3.5.2 (#2963)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 30 Jan 2019 23:55:52 +0000 (08:55 +0900)]
Use Protocol Buffer 3.5.2 (#2963)

This commit integrates protocol buffer 3.5.2 (instead of 3.6.1) as a
nncc external package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Codestyle fixes in cpu backend (#2939)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 30 Jan 2019 18:10:53 +0000 (21:10 +0300)]
[nnc] Codestyle fixes in cpu backend (#2939)

- rename variables and fix indents in cpu backend according to codestyle
- add comments about used algorithms
- questionable `static_cast` replaced with `dynamic_cast`

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years agoMulti input data (#2959)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 30 Jan 2019 15:56:51 +0000 (18:56 +0300)]
Multi input data (#2959)

Multi-files in command line option --input-model-data.

Some nets require several files as input in execution.

Signed-off-by: Andrew V. Tischenko a.tischenko@partner.samsung.com
5 years ago[coco] KernelObjectTest with comparing Shape (#2952)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 30 Jan 2019 11:18:47 +0000 (20:18 +0900)]
[coco] KernelObjectTest with comparing Shape (#2952)

This commit applies TODO comment. KernelObjectTest now compares Shape
with operator==.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[nnc] Scale and BiasAdd realizations on Eigen (#2956)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 30 Jan 2019 11:03:25 +0000 (14:03 +0300)]
[nnc] Scale and BiasAdd realizations on Eigen (#2956)

Refactor Scale and BiasAdd ops on SoftBackend to use eigen functions

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years ago[nnc] Link libprotobuf to nnc_support (#2962)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 30 Jan 2019 08:05:23 +0000 (17:05 +0900)]
[nnc] Link libprotobuf to nnc_support (#2962)

nnc_support implements some protocol buffer helpers, but protocol buffer
libraray is not linked.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[caffegen] Do NOT require CaffeProto (#2964)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 30 Jan 2019 08:00:02 +0000 (17:00 +0900)]
[caffegen] Do NOT require CaffeProto (#2964)

* [caffegen] Do NOT require CaffeProto

Caffe package includes CaffeProto, and thus it is unnecessary to request
CaffeProto.

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

5 years agoNotify when FlatBuffers is available (#2966)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 30 Jan 2019 07:50:34 +0000 (16:50 +0900)]
Notify when FlatBuffers is available (#2966)

With this commit, cmake will display "Found FlatBuffers: TRUE"
message during configuration when FlatBuffers is available.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] DotDumperPass (#2960)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 29 Jan 2019 20:11:49 +0000 (23:11 +0300)]
[nnc] DotDumperPass (#2960)

Introduce dotDumper pass for dumping the Model graph after optimizations
in dot format

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[nnc] Fixed weights tensor shape in ACL backend (#2958)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 29 Jan 2019 15:07:48 +0000 (18:07 +0300)]
[nnc] Fixed weights tensor shape in ACL backend (#2958)

Fixed name of weights tensor shape variable in ACL backend to fix build

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Change the ModelIR Conv2D kernel format from HWIO to OHWI (#2941)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 29 Jan 2019 12:33:25 +0000 (15:33 +0300)]
[nnc] Change the ModelIR Conv2D kernel format from HWIO to OHWI (#2941)

* Change the ModelIR Conv2D kernel format from HWIO to OHWI to match TensorFlow Lite format.
* Adjust importers and backends.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Fixed misleading indentation warning (#2954)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 29 Jan 2019 11:05:58 +0000 (14:05 +0300)]
[nnc] Fixed misleading indentation warning (#2954)

[nnc] Fixed misleading indentation warning

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoRollback Protocol Buffer 3.6.1 integration (#2949)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 29 Jan 2019 09:56:11 +0000 (18:56 +0900)]
Rollback Protocol Buffer 3.6.1 integration (#2949)

Let's rollback to previous Protocol Buffer import routine.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdd enco gdb operator names (#2947)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 29 Jan 2019 09:07:49 +0000 (18:07 +0900)]
Add enco gdb operator names (#2947)

Add Sub, Sqrt, Div names

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[coco] Reformat comments into doxygen style (#2942)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 29 Jan 2019 04:20:22 +0000 (13:20 +0900)]
[coco] Reformat comments into doxygen style (#2942)

Doxygen cannot parse comments with '// @brief'. Now such comments are
reformatted to style that doxygen can parse as documentation.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[enco] Reformat comments into doxygen style (#2943)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 29 Jan 2019 04:00:09 +0000 (13:00 +0900)]
[enco] Reformat comments into doxygen style (#2943)

Doxygen cannot parse comments with '// @brief'. Now such comments are
reformatted to style that doxygen can parse as documentation.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years agoIntegrate Protocol Buffer 3.6.1 (#2936)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 29 Jan 2019 03:46:21 +0000 (12:46 +0900)]
Integrate Protocol Buffer 3.6.1 (#2936)

* Integrate Protocol Buffer 3.6.1

This commit integrates Protocol Buffer 3.6.1 as a nncc external package.

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

* Fix incorrect indentation

5 years ago[nnc] Prepare the interpreter backend for the future changes related to adding of...
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 28 Jan 2019 17:32:26 +0000 (20:32 +0300)]
[nnc] Prepare the interpreter backend for the future changes related to adding of the Tensor class in the ModelIR (#2934)

* Add `getInputTensors` and `setOutputTensors` methods in place of the `var` method.
* Reformat the code according to coding style.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Add OutputOp class to represent graph outputs (#2930)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 28 Jan 2019 15:52:01 +0000 (18:52 +0300)]
[nnc] Add OutputOp class to represent graph outputs (#2930)

* Add OutputOp class to represent graph outputs.
* Add generation of instances of the class in importers.
* Modify backends to account for the new graph structure.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Increase interpreter speed (#2768)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 28 Jan 2019 15:17:34 +0000 (18:17 +0300)]
[nnc] Increase interpreter speed (#2768)

Remove vector usage from Shapes and Indices
Move all getters into headers( inlining )
Increase inference speed up to 4x-6x times
Tinker with Deconv2D implementation to speed it up
Fix issue in broadcasting implementation

Signed-off-by: Vladimir Plazun v.plazun@partner.samsung.com
5 years agoNNC comments code of conduct rules. (#2915)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 28 Jan 2019 14:51:38 +0000 (17:51 +0300)]
NNC comments code of conduct rules. (#2915)

The doc about PRs and source code comments rules was included.

Signed-off-by: Andrew V. Tischenko a.tischenko@partner.samsung.com
5 years ago[nnc] Handle explicit memory operations in cpu backend (#2901)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Mon, 28 Jan 2019 14:06:10 +0000 (17:06 +0300)]
[nnc] Handle explicit memory operations in cpu backend (#2901)

- Generate explicit memory operations in inference sequence in ModelAnalyzer
- Generate code for memory operations from inference sequence in C++ generator

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Eigen realisation of some activation functions of SoftBackend (#2926)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 28 Jan 2019 13:16:51 +0000 (16:16 +0300)]
[nnc] Eigen realisation of some activation functions of SoftBackend (#2926)

New realisations for activation functions:
- CappedRelu
- LeakyRelu
- Sigmoid

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years ago[nnc] Prepare the ACL backend for the future changes related to adding of the Tensor...
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 28 Jan 2019 10:24:38 +0000 (13:24 +0300)]
[nnc] Prepare the ACL backend for the future changes related to adding of the Tensor class in the ModelIR (#2933)

* Change the signature of `tensorName` and `genTensor` methods to accept `IODescriptor` instead of `Operation`.
* Use the `collectInputs` and `collectOutputs` methods of Graph class instead of collecting input and output operations manually in the ACL backend.
* Add `getInput` method to `Operation` class.
* Add uses of `getInput` method in the ACL backend.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[coco] Edit comment box into consistant way (#2923)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 28 Jan 2019 00:42:17 +0000 (09:42 +0900)]
[coco] Edit comment box into consistant way (#2923)

This commit edits '/***' into '/**' in coco as majority of comment boxs
start with '/**'. Moreover doxygen could only parse comment boxs start
with '/**' as documentation.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[nnc] Implemented PadOp in ACL backend (#2925)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 25 Jan 2019 14:15:40 +0000 (17:15 +0300)]
[nnc] Implemented PadOp in ACL backend (#2925)

Implemented ACL backend pad operation.

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Delete interpreter system tests (#2927)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 25 Jan 2019 11:34:07 +0000 (14:34 +0300)]
[nnc] Delete interpreter system tests (#2927)

Delete deprecated interpreter system tests.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Don't serialize excess constant tensors in ACL backend (#2906)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 25 Jan 2019 10:11:26 +0000 (13:11 +0300)]
[nnc] Don't serialize excess constant tensors in ACL backend (#2906)

Reduce memory consumption by elimination of excess constant tensor serialization in ACL backend

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Rename VariableOp class to InputOp (#2924)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 25 Jan 2019 09:35:29 +0000 (12:35 +0300)]
[nnc] Rename VariableOp class to InputOp (#2924)

Rename VariableOp class to InputOp. This class represents graph inputs; InputOp is more precise name for this class.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[enco] Add test file for constant folding (#2898)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 25 Jan 2019 08:35:36 +0000 (17:35 +0900)]
[enco] Add test file for constant folding (#2898)

* [enco] Add test file for constant folding

Until now, there is no test file to validate constant folding
This commit will add such test cases

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
* Use same prefix

5 years ago[coco] Fix typo in comment (#2911)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 25 Jan 2019 01:32:17 +0000 (10:32 +0900)]
[coco] Fix typo in comment (#2911)

This commit corrects 'breif' into 'brief' in coco

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[enco] Fix typo in comment (#2912)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 25 Jan 2019 01:32:05 +0000 (10:32 +0900)]
[enco] Fix typo in comment (#2912)

This commit corrects 'breif' into 'brief' in enco

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[nnc] CPU backend sequence memory and transpose operations (#2884)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 24 Jan 2019 16:47:48 +0000 (19:47 +0300)]
[nnc] CPU backend sequence memory and transpose operations (#2884)

- Move inference sequence entities to separate file
- Refactor inference sequence uses to support several types of operations
- Code style fixes in cpu soft backend

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Allocate ACL elementwise op output and temporary tensors (#2914)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 23 Jan 2019 20:57:29 +0000 (23:57 +0300)]
[nnc] Allocate ACL elementwise op output and temporary tensors (#2914)

Allocate ACL elementwise op output and temporary tensors

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Remove shared_ptr from TensorVariant's constructor (#2907)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 23 Jan 2019 11:41:09 +0000 (14:41 +0300)]
[nnc] Remove shared_ptr from TensorVariant's constructor (#2907)

* Change the signatures of TensorVariant consturctors to accept a plain pointer to data instead of shared_ptr.
* Refactor uses of the constructors.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[enco] Not apply constant folding when instruction has output bag (#2897)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 23 Jan 2019 01:55:09 +0000 (10:55 +0900)]
[enco] Not apply constant folding when instruction has output bag (#2897)

* [enco] Not apply constant folding when instruction has output bag

Until now, constant folding was even applied to the instructions which have output bag.
If then, constant folding tries to update network output buffer but it is not impossible.
Furthermore, the total result would be abnormal.
This commit will fix it by not applying constant folding when instruction has output bag and add related testcases.

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
* add TODO comment

* rename testcase

5 years ago[nnc] Support for non-1 batch in Conv2D and DepthwiseConv2D operations (#2902)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 22 Jan 2019 13:02:14 +0000 (16:02 +0300)]
[nnc] Support for non-1 batch in Conv2D and DepthwiseConv2D operations (#2902)

* Add support for non-1 batch size in Conv2D and DepthwiseConv2D in interpreter backend.
* Fix a bug in ShapeRange class that caused undefined behavior when it is constructed from a temporary.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Remove limitation on input shape in importers (#2903)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 22 Jan 2019 12:25:44 +0000 (15:25 +0300)]
[nnc] Remove limitation on input shape in importers (#2903)

Remove limitations on input shape in Caffe2, TensorFlow Lite and ONNX importers.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Fix arm-cpu build (#2905)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 22 Jan 2019 07:55:11 +0000 (10:55 +0300)]
[nnc] Fix arm-cpu build (#2905)

Fix arm-cpu build by removing activations left out under #ifdef

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[enco/caffe] Average Pooling with Non Square Kernel (#2892)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 22 Jan 2019 02:35:15 +0000 (11:35 +0900)]
[enco/caffe] Average Pooling with Non Square Kernel (#2892)

This commit fixes a bug in Caffe frontend which results in incorrect
results when there is an average pooling layer with non squre kernel.

This commit also adds a related regression test.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Fixed several ACL bugs (#2900)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 21 Jan 2019 15:47:55 +0000 (18:47 +0300)]
[nnc] Fixed several ACL bugs (#2900)

* Increased padding if caffe formula for pooling output producing wrong result
* Removed `RoundMode` from `PoolOp`
* Added missing argument for generated `CLArithmeticAddition` call

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Conv refactor (#2886)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 21 Jan 2019 15:37:23 +0000 (18:37 +0300)]
[nnc] Conv refactor (#2886)

Cleaned up `Conv2d` and `ConvTranspose`;
Updated Conv2d with upstream implementation

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>