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
박천교/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>
Павел Ильютченко/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>
박종현/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>
박종현/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)
박종현/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>
Андрей Шедько/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>
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>
[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>
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>
박종현/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>
윤지영/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>
박천교/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>
박천교/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>
박종현/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
[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>
[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>
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
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
[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>
Павел Ильютченко/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>
[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>
박천교/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>
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>
[nnc] Delete interpreter system tests (#2927)
Delete deprecated interpreter system tests.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
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>
[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>
남궁석/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
박천교/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>
박천교/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>
[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>
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>
[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>
남궁석/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
[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>
[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>
Андрей Шедько/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>
박종현/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>
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>
Андрей Шедько/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>
[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>
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>
이상규/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>
윤지영/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>
박종현/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>
윤지영/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
[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>
박세희/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>
박종현/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>
Андрей Шедько/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>
Андрей Шедько/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>
Андрей Шедько/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
[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
Павел Ильютченко/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>
[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>
[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>
[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>
박세희/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>
박종현/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>
[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>
[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>
[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>
장지섭/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>
윤현식/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
박세희/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>
박세희/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>
박세희/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
박세희/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
[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>
[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>
[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>
박종현/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
남궁석/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
[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>
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>
[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>
[nnc] Remove the debugTranspose option (#2813)
Remove the `debugTranspose` option which is no longer needed.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
[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>
[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>
[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>
박세희/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>
박종현/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>
박종현/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>
박천교/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>
박종현/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>
박세희/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
박천교/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>
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>
[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>
Павел Ильютченко/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>
[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>
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>
박천교/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
박천교/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>
박종현/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>
박종현/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>
박천교/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
박종현/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
박세희/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>
박종현/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>