platform/core/ml/nnfw.git
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

5 years ago[ann] Fix Div operation to perform division (#2806)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 10 Jan 2019 09:16:10 +0000 (18:16 +0900)]
[ann] Fix Div operation to perform division (#2806)

This commit fixes Div operation in ann to correct way

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years agoSupport Pre/Post Package Hook (#2798)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 10 Jan 2019 08:16:53 +0000 (17:16 +0900)]
Support Pre/Post Package Hook (#2798)

With this commit, nncc_find_package invokes pre (and post) hooks before (and after)
actual find_package invocation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoIntroduce nnkit_support_tflite-1.7 target (#2804)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 10 Jan 2019 04:46:55 +0000 (13:46 +0900)]
Introduce nnkit_support_tflite-1.7 target (#2804)

This target allows clients to specify the version of tensorflow lite that
they want to use.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[ann] Support Div operation (#2800)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 10 Jan 2019 04:16:14 +0000 (13:16 +0900)]
[ann] Support Div operation (#2800)

* [ann] Support Div operation

This commit would support Div operation in ann

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
* Change indent and minor refactoring

5 years agoIntroduce Abseil Source package (#2802)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 10 Jan 2019 04:08:54 +0000 (13:08 +0900)]
Introduce Abseil Source package (#2802)

* Introduce Abseil Source package

This commit introduces Abseil (C++) source package as a nncc external
package.

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

5 years ago[enco] fix typo in comment (#2801)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 10 Jan 2019 04:07:23 +0000 (13:07 +0900)]
[enco] fix typo in comment (#2801)

This will fix typo in reduce_identical_object comment

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoUpdate external dependencies on URL change (#2799)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 10 Jan 2019 02:17:51 +0000 (11:17 +0900)]
Update external dependencies on URL change (#2799)

With this commit, ExternalSource_Download will re-download external source
if its URL has changed.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdd .vs folder to gitignore (#2797)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 10 Jan 2019 02:10:52 +0000 (11:10 +0900)]
Add .vs folder to gitignore (#2797)

This will add to ignore Visual Studio temporary .vs folder

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoRemove deprecated TensorFlowLite package (#2786)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 10 Jan 2019 01:05:01 +0000 (10:05 +0900)]
Remove deprecated TensorFlowLite package (#2786)

Let's use versioned package instead.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Add comment of Locatable (#2796)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 10 Jan 2019 01:04:46 +0000 (10:04 +0900)]
[coco] Add comment of Locatable (#2796)

* [coco] Add comment of Locatable

This will add comment for Locatable interface

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

5 years ago[nnc] Support transpose in acl backend (#2746)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 9 Jan 2019 16:01:26 +0000 (19:01 +0300)]
[nnc] Support transpose in acl backend (#2746)

- Support transpose operations in acl backend
- Insert transposes in acl backend where needed
- Add test for transpose operation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Support for LSTM Caffe layer (#2721)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 9 Jan 2019 16:01:01 +0000 (19:01 +0300)]
[nnc] Support for LSTM Caffe layer (#2721)

* Add support for LSTM Caffe layer.
* Rename "SoftmaxLoss" Caffe layer to "SoftmaxWithLoss" as it should be.
* Add support for non-default axis for InnerProduct Caffe layer.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Add LeakyRelu activation (#2757)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 9 Jan 2019 11:46:20 +0000 (14:46 +0300)]
[nnc] Add LeakyRelu activation (#2757)

* [nnc] Add LeakyRelu activation

Implement leaky relu activation function( relu with negative slope )

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years ago[enco] Fixed debugging typo (#2793)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 9 Jan 2019 10:57:44 +0000 (19:57 +0900)]
[enco] Fixed debugging typo (#2793)

enco_dump_all_bags, _objects, _ops, _instrs take module as a parameter.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[enco] Support Div for ANN backend (#2792)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 9 Jan 2019 08:42:12 +0000 (17:42 +0900)]
[enco] Support Div for ANN backend (#2792)

* [enco] Support Div for ANN backend

This commit enables ANN backend generation for Div operation

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
* Remove irrelavant modification in 'Debugging.cpp'

5 years ago[nnc] Fix for constant in ModelAnalyzer (#2744)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 9 Jan 2019 08:29:33 +0000 (11:29 +0300)]
[nnc] Fix for constant in ModelAnalyzer (#2744)

Fixed constants not being visible in soft backend

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[enco] add comments for loads in DataLayoutConversion (#2789)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 9 Jan 2019 08:14:16 +0000 (17:14 +0900)]
[enco] add comments for loads in DataLayoutConversion (#2789)

* [enco] add comments for loads in DataLayoutConversion

This will add some comments explaining the condition

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

* add about bounded

* use 'note'

5 years ago[coco] Support Sqrt operator in coco (#2790)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 9 Jan 2019 04:25:53 +0000 (13:25 +0900)]
[coco] Support Sqrt operator in coco (#2790)

This commit adds Sqrt op in coco.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoIntroduce TensorFlow 1.12 source package (#2785)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 9 Jan 2019 00:21:40 +0000 (09:21 +0900)]
Introduce TensorFlow 1.12 source package (#2785)

This commit integrates TensorFlowSource (1.12) package into nncc build
system.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Add comments to subst method (#2775)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 8 Jan 2019 23:41:56 +0000 (08:41 +0900)]
[enco] Add comments to subst method (#2775)

* [enco] Add comments to subst method

This will add explanation comment of subst() method

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* some changes and example code

* use word USER

* Apply suggested comment

* fix typos

* use word Consumer

5 years ago[nnkit] Use specific version of TensorFlow Lite (#2782)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 8 Jan 2019 08:44:44 +0000 (17:44 +0900)]
[nnkit] Use specific version of TensorFlow Lite (#2782)

This commit updates nnkit_support_tflite uses a specific version of
tensorflow lite (v1.7).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoExternalSource_Download with URL keyword (#2784)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 8 Jan 2019 08:38:46 +0000 (17:38 +0900)]
ExternalSource_Download with URL keyword (#2784)

This commit updates ExternalSource_Download to accept URL keyword as an
argument of the following form:

 ExternalSource_Download(SAMPLE DIRNAME "SAMPLE" URL "...")

This change will make it easy to understand CMake build script.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdd TensorFlow Lite 1.7 package (#2778)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 8 Jan 2019 07:24:20 +0000 (16:24 +0900)]
Add TensorFlow Lite 1.7 package (#2778)

This commit introduces TensorFlow Lite 1.7 package to nncc build system.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Support Div operation (#2770)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 8 Jan 2019 00:49:54 +0000 (09:49 +0900)]
[coco] Support Div operation (#2770)

This commit extends coco IR including Div operation

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>