platform/core/ml/nnfw.git
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>
5 years ago[nnc] Refactor TensorFlow Lite importer (#2890)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 21 Jan 2019 15:24:01 +0000 (18:24 +0300)]
[nnc] Refactor TensorFlow Lite importer (#2890)

Refactor TensorFlow Lite importer to identically process constant and variable inputs to operators.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Fixed nnc test coverage collecting (#2889)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 21 Jan 2019 10:30:49 +0000 (13:30 +0300)]
[nnc] Fixed nnc test coverage collecting (#2889)

[nnc] Fixed nnc test coverage collecting

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[enco] Remove unused variable load (#2882)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 18 Jan 2019 06:50:13 +0000 (15:50 +0900)]
[enco] Remove unused variable load (#2882)

To suppress unused variable warning, remove declaration of `load`.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[enco] Add residual_bn test (#2822)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 18 Jan 2019 05:55:42 +0000 (14:55 +0900)]
[enco] Add residual_bn test (#2822)

This commit adds the residual_bn test
by copying the original residual block from resnet18.prototxt.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoSupport decentralized build dependency declaration (#2865)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 18 Jan 2019 01:29:53 +0000 (10:29 +0900)]
Support decentralized build dependency declaration (#2865)

This commit allows each sub-project to declare its build dependencies.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add BatchNorm in caffe frontend (#2879)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 17 Jan 2019 09:41:20 +0000 (18:41 +0900)]
[enco] Add BatchNorm in caffe frontend (#2879)

* [enco] Add BatchNorm in caffe frontend

This commit has BatchNorm layer in caffe frontend

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Add BatchNorm testcase in caffe test

* Removed unused file and Update year

5 years ago[nnc] Make convolution operations treat the second tensor as ordinary argument (...
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 17 Jan 2019 08:36:29 +0000 (11:36 +0300)]
[nnc] Make convolution operations treat the second tensor as ordinary argument (#2869)

* Change the signatures of Conv2DOp, DepthwiseConv2DOp and DeConv2DOp to identically handle both input parameters.
* Refactor uses of Conv2DOp, DepthwiseConv2DOp and DeConv2DOp.
* Rename corresponding files in interpreter backend according to coding style.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[enco] remove unnecessary indentation (#2875)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 17 Jan 2019 04:18:08 +0000 (13:18 +0900)]
[enco] remove unnecessary indentation (#2875)

This will remove unnecessary indentation and remove todo comment

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoIntroduce BUILD_FLATBUFFERS option (#2874)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 17 Jan 2019 02:14:11 +0000 (11:14 +0900)]
Introduce BUILD_FLATBUFFERS option (#2874)

This commit introduces BUILD_FLATBUFFERS option which allows users not
to build Flatbuffers (and use pre-installed one instead).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Fix build (#2871)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 16 Jan 2019 17:44:12 +0000 (20:44 +0300)]
[nnc] Fix build (#2871)

- Fixed build failure due to signature change.
- Refactored ONNX importer from PR #2705

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[nnc] Add temporary im2col buffer reuse (#2859)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 16 Jan 2019 16:45:39 +0000 (19:45 +0300)]
[nnc] Add temporary im2col buffer reuse (#2859)

Add temporary buffer reuse to soft backend for Conv
Implemented via a temporary tensor

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[nnc] New importers/style transfer ops support (#2705)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 16 Jan 2019 16:12:19 +0000 (19:12 +0300)]
[nnc] New importers/style transfer ops support (#2705)

Added resize to caffe2 and ONNX (as upsample)
Tested with 1 layer nets.

Signed-off-by: Andrei Shedko a.shedko@partner.samsung.com
5 years ago[nnc] The initial implementation of Shape op in ONNX (#2868)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 16 Jan 2019 15:32:41 +0000 (18:32 +0300)]
[nnc] The initial implementation of Shape op in ONNX (#2868)

inception_v3 model requires this operation.
In addition I changed the includes order inside some ONNX files.

Signed-off-by: Andrew V. Tischenko a.tischenko@partner.samsung.com
5 years ago[nnc] Remove BiasAdd and ScaleOp from Add operation in Caffe2 frontend (#2857)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 16 Jan 2019 14:22:21 +0000 (17:22 +0300)]
[nnc] Remove BiasAdd and ScaleOp from Add operation in Caffe2 frontend (#2857)

* Remove BiasAdd and ScaleOp from caffe2 convertAdd
* Fix BatchNorm assertion of caffe frontend
* Fix Elementwise with broadcast on caffe frontend

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years ago[nnc] Mobilenet support in soft backend in ONNX (#2866)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 16 Jan 2019 11:41:14 +0000 (14:41 +0300)]
[nnc] Mobilenet support in soft backend in ONNX (#2866)

Soft backend can't load int64 constant tensors that's why it was transformed in float one (reshape operation).

Signed-off-by: Andrew V. Tischenko <a.tischenko@partner.samsung.com>
5 years ago[nnc] Make FullyConnectedOp treat the second tensor as ordinary argument (#2858)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 16 Jan 2019 09:23:45 +0000 (12:23 +0300)]
[nnc] Make FullyConnectedOp treat the second tensor as ordinary argument (#2858)

* Change the signature of FullyConnectedOp to identically handle both input parameters.
* Refactor uses of FullyConnectedOp.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Some ops fixes, mobilenet support on ONNX. (#2856)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 16 Jan 2019 09:02:55 +0000 (12:02 +0300)]
[nnc] Some ops fixes, mobilenet support on ONNX. (#2856)

There were fixed/implemented the following operators:
PadOp, GivenTensorFillOp, ConstantOp, ConvOp.
As result we have now 2 working NNs: resnet50 and mobilenet. The last one was tested on interpreter only.

Signed-off-by: Andrew V. Tischenko <a.tischenko@partner.samsung.com>
5 years ago[enco] Fix comment for duplicate_inout_bag (#2864)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 16 Jan 2019 06:53:55 +0000 (15:53 +0900)]
[enco] Fix comment for duplicate_inout_bag (#2864)

This will fix a typo and explanation of the function

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco/tflite] Add Regression 0003 testcase (#2854)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 15 Jan 2019 23:55:08 +0000 (08:55 +0900)]
[enco/tflite] Add Regression 0003 testcase (#2854)

This commit introduces Regression 0003 testcase whose inputs are all
constant.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Adapt ONNX importer to modified ScaleOp interface (#2860)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 15 Jan 2019 20:00:52 +0000 (23:00 +0300)]
[nnc] Adapt ONNX importer to modified ScaleOp interface (#2860)

Take into account modified interface of ScaleOp in ONNX importer.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Make BiasAddOp and ScaleOp treat the second tensor as ordinary argument (#2848)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 15 Jan 2019 16:16:07 +0000 (19:16 +0300)]
[nnc] Make BiasAddOp and ScaleOp treat the second tensor as ordinary argument (#2848)

* Change the signatures of BiasAddOp and ScaleOp to identically handle both input parameters.
* Refactor uses of BiasAddOp and ScaleOp.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Refactor TFLite importer to support operators with multiple outputs (#2816)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 15 Jan 2019 10:43:29 +0000 (13:43 +0300)]
[nnc] Refactor TFLite importer to support operators with multiple outputs (#2816)

Make operator conversion methods accept and return vectors of `IODescriptor`s.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[tflchef] Support Sqrt operation (#2695)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 15 Jan 2019 10:23:04 +0000 (19:23 +0900)]
[tflchef] Support Sqrt operation (#2695)

This commit supports generating tflite file of Sqrt operation.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[tflchef] tlchef for FullyConnected (#2852)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 15 Jan 2019 06:15:05 +0000 (15:15 +0900)]
[tflchef] tlchef for FullyConnected (#2852)

* [tflchef] tlchef for FullyConnected

This commit adds code to convert recipe for FullyConnected to tflite file.

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

* remove comment about alphabetical order

5 years ago[enco] Refactor DuplicatePass (#2850)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 15 Jan 2019 03:56:25 +0000 (12:56 +0900)]
[enco] Refactor DuplicatePass (#2850)

This will hide DuplicatePass class and provide duplicate_inout_bag() like the other transformation pass

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Refactor SplitPass (#2849)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 15 Jan 2019 03:54:29 +0000 (12:54 +0900)]
[enco] Refactor SplitPass (#2849)

This will hide SplitPass class and provide split_into_phases() like the other transformation pass

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Comment for bypass_shuffle (#2843)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 15 Jan 2019 02:07:39 +0000 (11:07 +0900)]
[enco] Comment for bypass_shuffle (#2843)

* [enco] Comment for bypass_shuffle

This will add comment for generate_bypass_shuffle method

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

* apply comments

* apply comment

5 years ago[coco] Add comment of Bag Input Output (#2846)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 15 Jan 2019 01:57:30 +0000 (10:57 +0900)]
[coco] Add comment of Bag Input Output (#2846)

* [coco] Add comment of Bag Input Output

This will add explanation comment for input and output attributes

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

5 years ago[nnc] Refactoring cmake build system (#2844)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 14 Jan 2019 16:57:04 +0000 (19:57 +0300)]
[nnc] Refactoring cmake build system (#2844)

* make separate config and utils files
* refactoring CMakeLists in other components

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[nnc] Refactor ONNX importer to support operators with multiple outputs (#2831)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 14 Jan 2019 15:06:55 +0000 (18:06 +0300)]
[nnc] Refactor ONNX importer to support operators with multiple outputs (#2831)

Make operator conversion methods accept and return vectors of IODescriptors.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Fix soft backend implementation for Gemm (#2750)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 14 Jan 2019 14:03:01 +0000 (17:03 +0300)]
[nnc] Fix soft backend implementation for Gemm (#2750)

- Fixed generation of cpu soft backend gemm operation
- Small refactoring and typo fixes of interpreter and onnx frontend

Signed-off-by: Andrew V. Tischenko <a.tischenko@partner.samsung.com>
5 years agoIntegrate TensorFlow Lite 1.12 (#2838)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 14 Jan 2019 07:48:55 +0000 (16:48 +0900)]
Integrate TensorFlow Lite 1.12 (#2838)

* Integrate TensorFlow Lite 1.12

This commit introduces the following changes to use TensorFlow Lite 1.12
instead of TensorFlow Lite 1.7
- Use the latest Flatbuffers (v1.10)
- Update Flatbuffers Build methodology
- Update nnkit's tensorflow lite support library

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

* Remove debug code

* Update status message

5 years ago[enco] Support constant folding for add, sub, mul, div, sqrt (#2821)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 14 Jan 2019 02:18:18 +0000 (11:18 +0900)]
[enco] Support constant folding for add, sub, mul, div, sqrt (#2821)

* [enco] Support constant folding for add, sub, mul, div, sqrt

Until now, only `coco::Copy` instruction was available for constant folding.
This commit will support some `coco::Eval` instructions in constant folding,
which is add, sub, mul, div, sqrt.

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

5 years ago[nnc] Add check for include generation correctness in acl unit tests (#2722)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 11 Jan 2019 20:56:53 +0000 (23:56 +0300)]
[nnc] Add check for include generation correctness in acl unit tests (#2722)

- Add checks for correct include DOM generation
- Fix system headers setter in ArtifactModule

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Made importer error message prettier (#2761)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 11 Jan 2019 20:54:33 +0000 (23:54 +0300)]
[nnc] Made importer error message prettier (#2761)

Made importer error message more prettier
Message example:
```
NNC can't load model. Detected problems:
  * Cos: unknown layer
  * Only 'NCHW' axis order is supported
  * Sin: unknown layer
```

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Remove transposes of inputs and outputs in importers (#2837)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 11 Jan 2019 19:58:47 +0000 (22:58 +0300)]
[nnc] Remove transposes of inputs and outputs in importers (#2837)

Remove transposes of input and outputs tensors in Caffe and Caffe2 importers

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Remove the debugTranspose option (#2813)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 11 Jan 2019 17:28:51 +0000 (20:28 +0300)]
[nnc] Remove the debugTranspose option (#2813)

Remove the `debugTranspose` option which is no longer needed.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Generate getters for unnamed output operations (#2830)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 11 Jan 2019 15:30:34 +0000 (18:30 +0300)]
[nnc] Generate getters for unnamed output operations  (#2830)

- Remove redundant type in operation analysis
- Move output nodes registration outside of operation analysis
- Refactor artifact tensor declaration in soft backend
- Create persistent tensor for output node without name

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Bugfix for the SVACE warning (#2743)
Тимур Отеллович Аблязимов/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 11 Jan 2019 14:09:33 +0000 (17:09 +0300)]
[nnc] Bugfix for the SVACE warning (#2743)

Pass large arguments by reference and small by value

Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
5 years ago [nnc] Free temporary tensors to reduce memory consumption of ACL artifact (#2767)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 11 Jan 2019 09:55:25 +0000 (12:55 +0300)]
 [nnc] Free temporary tensors to reduce memory consumption of ACL artifact (#2767)

- Remove redundant reverse shape transposes like this [0,1,2,3]->[3,2,1,0]
- Refactor tensor serialization

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[enco] Comment for dead object elimination (#2819)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 11 Jan 2019 08:28:54 +0000 (17:28 +0900)]
[enco] Comment for dead object elimination (#2819)

This will add a comment for getting dead objects

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoIntroduce TensorFlow Lite 1.12 package (#2820)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 11 Jan 2019 08:05:41 +0000 (17:05 +0900)]
Introduce TensorFlow Lite 1.12 package (#2820)

This commit introduces TensorFlow Lite 1.12 package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoIntroduce Abseil package (#2818)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 11 Jan 2019 06:37:09 +0000 (15:37 +0900)]
Introduce Abseil package (#2818)

This commit adds Abseil package which provides abseil target.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[encodump] Support Div operation (#2814)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 11 Jan 2019 00:38:45 +0000 (09:38 +0900)]
[encodump] Support Div operation (#2814)

This commit would enable encodump to get model with Div operation

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[nnsuite] Use specific tflite version (#2807)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 11 Jan 2019 00:37:51 +0000 (09:37 +0900)]
[nnsuite] Use specific tflite version (#2807)

TensorFlow Lite currently has no public API, and thus its
interface(=API) is subject to change.

Let's use specific tflite version to avoid compilation failure due to
API incompatibility.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add comments for constant folding (#2808)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 11 Jan 2019 00:19:49 +0000 (09:19 +0900)]
[enco] Add comments for constant folding (#2808)

* [enco] Add comments for constant folding

This will add some comments of constant folding

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

* use capital letter

* fix grammer

5 years ago[enco] Add test case for Div operation (#2812)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 11 Jan 2019 00:19:29 +0000 (09:19 +0900)]
[enco] Add test case for Div operation (#2812)

This commit adds test case for Div support in enco

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years ago[nnc] Fix incorrect operation id for leaky relu (#2815)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 10 Jan 2019 15:40:22 +0000 (18:40 +0300)]
[nnc] Fix incorrect operation id for leaky relu (#2815)

Id of LeakyRelu operation was incorrectly set as ReLU

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years ago[nnc] Check that the model has the correct format in Caffe importer (#2753)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 10 Jan 2019 13:38:53 +0000 (16:38 +0300)]
[nnc] Check that the model has the correct format in Caffe importer (#2753)

Ensure that the model file consumed entirely, otherwise complain that the model cannot be loaded. Fixes #2050.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Support Clip and Reshape operations on caffe2 importer (#2751)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 10 Jan 2019 13:04:34 +0000 (16:04 +0300)]
[nnc] Support Clip and Reshape operations on caffe2 importer (#2751)

* Support GivenTensorInt64Fill const tensors
* Convert Clip operation in CappedRelu
* Support Reshape operation

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years ago [nnc] remove redundant shape transposes from acl backend (#2764)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Thu, 10 Jan 2019 10:09:42 +0000 (13:09 +0300)]
 [nnc] remove redundant shape transposes from acl backend  (#2764)

- Remove redundant reverse shape transposes like this [0,1,2,3]->[3,2,1,0]
- Refactor tensor serialization

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Fix deconv2D import in tflite importer (#2544)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 10 Jan 2019 09:30:28 +0000 (12:30 +0300)]
[nnc] Fix deconv2D import in tflite importer (#2544)

Use output shape stored in tflite model as it's impossible to compute it from operation parameters

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years ago[enco] Support Div for tflite frontend (#2779)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 10 Jan 2019 09:26:33 +0000 (18:26 +0900)]
[enco] Support Div for tflite frontend (#2779)

* [enco] Support Div for tflite frontend

This commit extends enco tflite frontend including Div operation

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
* Rename ifm, ofm indices to 'num', 'denom' and 'out'

* Add activation assertion

* Input shapes may differ in case of broadcasting

* Remove redundant variable d

* Add TODO notice about object type generalization