platform/core/ml/nnfw.git
5 years ago[nnc] Add arm-c++ target (#2515)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Mon, 10 Dec 2018 18:37:15 +0000 (21:37 +0300)]
[nnc] Add arm-c++ target (#2515)

Adds new target option to make possible split of arm and x86 artifact generation in cpu c++ backend

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Use nnkit-run for test (#2585)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 18:34:03 +0000 (03:34 +0900)]
[nnc] Use nnkit-run for test (#2585)

Now, infer_testcase.py script will invoke nnkit-run instead of
deprecated nni.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoupdate Unit Test Report for completion DR (#2596)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 15:44:34 +0000 (18:44 +0300)]
update Unit Test Report for completion DR (#2596)

* add test round 3 including results of unit tests for ACL C++ code generator

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoupdate STD and SDD for completion DR (#2595)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 15:44:15 +0000 (18:44 +0300)]
update STD and SDD for completion DR (#2595)

This is a patch from Alexey Kondrashov.

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoupdate SW Development Document for completion DR (#2571)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 11:41:27 +0000 (14:41 +0300)]
update SW Development Document for completion DR (#2571)

* update SW Development Document for completion DR

* add report of ProtexIP
* add report of SVACE
* add code metrics result
* correct System Test document for completion DR
* add mention about coding style document

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[coco] Declare coco-internal FeatureShape class (#2591)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 08:57:41 +0000 (17:57 +0900)]
[coco] Declare coco-internal FeatureShape class (#2591)

This commit declares coco-internal FeatureShape class with "batch"
method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove deprecated FeatureObject::at method (#2590)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 08:15:42 +0000 (17:15 +0900)]
[coco] Remove deprecated FeatureObject::at method (#2590)

"at" method in FeatureObject was introduced when FeatureObject is
responsible to layout management, but this method is no longer used.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco/tfl/frontend] Remove tensor copying code (#2559)
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 08:04:22 +0000 (17:04 +0900)]
[enco/tfl/frontend] Remove tensor copying code (#2559)

Frontend now copies tensor copy after building IR. Duplicate code is removed from GraphBuilder.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[coco] Remove deprecated FeatureObject constructor (#2588)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 08:02:51 +0000 (17:02 +0900)]
[coco] Remove deprecated FeatureObject constructor (#2588)

This commit removes deprecated FeatureObject constructor with
FeatureShape.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: move loop invariant context (#2589)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 08:02:45 +0000 (17:02 +0900)]
[enco] frontend/caffe: move loop invariant context (#2589)

This will move loop invariant opbuilder_context variable outside of the for loop

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] frontend/caffe: fix header guard directive (#2587)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 08:02:11 +0000 (17:02 +0900)]
[enco] frontend/caffe: fix header guard directive (#2587)

This will fix input layer header guard with correct directive

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] caffe/frontend: const ref for layer name (#2584)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 06:44:00 +0000 (15:44 +0900)]
[enco] caffe/frontend: const ref for layer name (#2584)

This will make to use const reference for std::string type layer name for lookup method

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[nnkit] Update README.md with nnkit-run (#2581)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 06:43:29 +0000 (15:43 +0900)]
[nnkit] Update README.md with nnkit-run (#2581)

This commit replaces all the reference of deprecated "nni" in README.md
with "nnkit-run".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] caffe/frontend: rename Op to Layer (#2582)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 06:34:27 +0000 (15:34 +0900)]
[enco] caffe/frontend: rename Op to Layer (#2582)

This will rename "Op" to "Layer" for folder name and lookup parameter

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco/tfl] Use NONE when setting activation (#2583)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 06:33:33 +0000 (15:33 +0900)]
[enco/tfl] Use NONE when setting activation (#2583)

This commit rewrites Concat_000 test recipe to use "NONE" instead of
explicit integer (0) to make it easy to understand.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco/tfl] Support concat along feature height/width (#2579)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 06:30:17 +0000 (15:30 +0900)]
[enco/tfl] Support concat along feature height/width (#2579)

* [enco/tfl] Support concat along feature height/width

This commit rewrites enco tflite frontend to support feature map
concatenation along height/width dimensions.

This commit also includes related tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use NONE instead of 0

* Fix a typo (compuate -> compute)

5 years ago[enco] frontend/caffe: separate scale (#2580)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 06:15:28 +0000 (15:15 +0900)]
[enco] frontend/caffe: separate scale (#2580)

This will move Scale layer handler to separate file

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Use nnkit-run instead of nni for test (#2576)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 06:00:48 +0000 (15:00 +0900)]
[enco] Use nnkit-run instead of nni for test (#2576)

This commit replaces all the use of nni with nnkit-run in enco test
framework.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Lower ConcatF to Shuffle (#2575)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Dec 2018 03:26:11 +0000 (12:26 +0900)]
[enco] Lower ConcatF to Shuffle (#2575)

This commit revises enco to lower ConcatF as Shuffle if is not yet delegated
to Android NN.

Note that the current implementation of "Intrinsic Selection" delegates
ConcatF to Android NN only when ConcatF is depth-wise.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: separate eltwise (#2574)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 10 Dec 2018 02:25:34 +0000 (11:25 +0900)]
[enco] frontend/caffe: separate eltwise (#2574)

This will move Eltwise(ElementWise) layer handler to separate file

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] frontend/caffe: separate concat (#2567)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Sun, 9 Dec 2018 23:59:00 +0000 (08:59 +0900)]
[enco] frontend/caffe: separate concat (#2567)

This will move Concatenation layer handler to separate file

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tfldump] Rename file DumpOp to OpPrinter (#2566)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Sun, 9 Dec 2018 23:58:51 +0000 (08:58 +0900)]
[tfldump] Rename file DumpOp to OpPrinter (#2566)

This will rename DumpOp header and source file to OpPrinter

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[nnc] Add acl backend tests for ops in mobilenet and inception (#2570)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 7 Dec 2018 14:28:20 +0000 (17:28 +0300)]
[nnc] Add acl backend tests for ops in mobilenet and inception (#2570)

Added tests for operations:
- scale
- bias
- concat
- reshape
- dropout
- conv2d
- depthwise2d
- softmax
- pool
- fc
- relu

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Refactor weights conversions in Caffe importer (#2209)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 7 Dec 2018 12:15:19 +0000 (15:15 +0300)]
[nnc] Refactor weights conversions in Caffe importer (#2209)

* Move conversion of `BlobShape`s to `TensorVariant`s from `createMIRNodesFromLayer to individual layer conversion methods;
* Remove unnecessary type alias `IrTensor`.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Skeleton for acl backend unit tests (#2549)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 7 Dec 2018 12:01:22 +0000 (15:01 +0300)]
[nnc] Skeleton for acl backend unit tests (#2549)

- added two groups of tests: MIR to DOM transformations and DOM to text transformation
- Declarations of checker functions
- two example tests, one for each group

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Initial implementation of caffe2_op_creator (#2333)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 7 Dec 2018 11:23:02 +0000 (14:23 +0300)]
[nnc] Initial implementation of caffe2_op_creator (#2333)

Initial implementation of caffe2_op_creator.

`mobilenet` supported, to support `inception` model - need to support custom paddings in pooling ops and test not tested operation conversations.

Implemented ops:
- Add
- AveragePool
- Conv
- Concat
- Dropout
- FC
- GivenTensorFill
- MaxPool
- Mul
- Relu
- Softmax
- SpatialBN
- Sum

Not tested ops:
- Add
- Concat
- Mul
- SpatialBN

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnc] Update description of ModelIR in documentation (#2548)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 7 Dec 2018 09:14:28 +0000 (12:14 +0300)]
[nnc] Update description of ModelIR in documentation (#2548)

Reflect recent changes in ModelIR in the documentation.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoACL backend documentation (#2547)
Тимур Отеллович Аблязимов/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 7 Dec 2018 09:13:54 +0000 (12:13 +0300)]
ACL backend documentation (#2547)

The ACL backend internal structure documentation.

Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
5 years ago[tfldump] rename DumpOp (#2565)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 08:29:50 +0000 (17:29 +0900)]
[tfldump] rename DumpOp (#2565)

* [tfldump] rename DumpOp

This will rename DumpOp to OrPrinter for class and variables.
- Each inherited classes are also renamed as XxxxPrinter

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

5 years ago[enco] frontend/caffe: separate relu (#2562)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 08:29:26 +0000 (17:29 +0900)]
[enco] frontend/caffe: separate relu (#2562)

This will move ReLU layer handler to separate file

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] frontend/caffe: separate pooling (#2560)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 07:37:09 +0000 (16:37 +0900)]
[enco] frontend/caffe: separate pooling (#2560)

This will move Pooling layer handler to separate file.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Introduce Intrinsic Selection (#2553)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Dec 2018 07:32:13 +0000 (16:32 +0900)]
[enco] Introduce Intrinsic Selection (#2553)

This commit introduces the basic implementation of Intrinsic Selection pass.
The current implementation is able to rewrite an "Eval" instruction for
"Depthwise concat over features" as "ANNDepthConcatF" instruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: separate convolution (#2556)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 02:27:47 +0000 (11:27 +0900)]
[enco] frontend/caffe: separate convolution (#2556)

This will move Convolution layer handler to separate file.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco/tfl/frontend] Function to copy tensor value into coco::Data (#2511)
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 01:48:21 +0000 (10:48 +0900)]
[enco/tfl/frontend] Function to copy tensor value into coco::Data (#2511)

* [enco/tfl/frontend] Function to copy unfilled tensor value into coco::Data

This commit adds a function to copy unfilled tensor value into coco::Data.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* pr fix: added if with continue, assert, int32 message

5 years ago[enco] Fix wrong OFM size of regression test (#2554)
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 01:47:43 +0000 (10:47 +0900)]
[enco] Fix wrong OFM size of regression test (#2554)

Fixed from [h, w] : [7, 7] ==>  [8, 8]

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[enco] frontend/caffe: separate Input (#2541)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 01:18:53 +0000 (10:18 +0900)]
[enco] frontend/caffe: separate Input (#2541)

This will move Input layer handler to separate file.
And changes for related with registry updates.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tfldump] rename OpPrinterRegistry (#2552)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 7 Dec 2018 01:13:25 +0000 (10:13 +0900)]
[tfldump] rename OpPrinterRegistry (#2552)

This will rename class DumpOpRegistry to OpPrinterRegistry

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Support Layout Conversion over ANNDepthConcatF (#2550)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Dec 2018 00:34:15 +0000 (09:34 +0900)]
[enco] Support Layout Conversion over ANNDepthConcatF (#2550)

Now, Data Layout Conversion pass will insert copy instructions for
layout conversion before/after ANNDepthConcatF instruction if they
are necessary.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Support constant operation in interpreter (#2546)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 6 Dec 2018 17:44:21 +0000 (20:44 +0300)]
[nnc] Support constant operation in interpreter (#2546)

Save a value from node in variable storage

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years agoImproved Pooling and GlobalAveragePool Implementation for ONNX (#2540)
Андрей Тищенко/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 15:04:37 +0000 (18:04 +0300)]
Improved Pooling and GlobalAveragePool Implementation for ONNX (#2540)

Some bugs in ONNX AveragePool and MaxPool were fixed.
GlobalAveragePool for ONNX was supported as simple AveragePool with a set of default parameters.

Signed-off-by: Andrew V. Tischenko <a.tischenko@partner.samsung.com>
5 years agoAdd test round 3 in System Test Document (#2493)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 13:16:29 +0000 (16:16 +0300)]
Add test round 3 in System Test Document (#2493)

* correct unsupported tests
* add tests for ACL C++ soft backend

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[enco] frontend/caffe: Prepare to use GraphBuilder (#2538)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 09:37:58 +0000 (18:37 +0900)]
[enco] frontend/caffe: Prepare to use GraphBuilder (#2538)

This will add using GraphBuilderRegistry to prepare handling by each layer GraphBuilder

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] frontend/caffe: Rename load() var (#2536)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 08:10:35 +0000 (17:10 +0900)]
[enco] frontend/caffe: Rename load() var (#2536)

This will rename load() local variable m to use full name module and d to data

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] frontend/caffe: Separate OpBuilder and InstrBuilder (#2537)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 08:09:50 +0000 (17:09 +0900)]
[enco] frontend/caffe: Separate OpBuilder and InstrBuilder (#2537)

This will move OpBuilder and InstrBuilder class to separate file

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tflchef] Use nnkit-run in testing (#2534)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 08:09:23 +0000 (17:09 +0900)]
[tflchef] Use nnkit-run in testing (#2534)

This commit replaces all the use of deprecated nni in tflchef testing
framework with nnkit-run.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: Introduce GraphBuilderRegistry (#2535)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 07:42:11 +0000 (16:42 +0900)]
[enco] frontend/caffe: Introduce GraphBuilderRegistry (#2535)

This will introduce GraphBuilderRegistry class to register GraphBuilder by layer type

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] DataLayoutConversion with free Load op (#2531)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 06:50:23 +0000 (15:50 +0900)]
[enco] DataLayoutConversion with free Load op (#2531)

It is currently impossible to apply Data Layout Conversion if there is a free Load op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco/tfl/frontend] TensorContext returns tensor type (#2533)
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 06:48:14 +0000 (15:48 +0900)]
[enco/tfl/frontend] TensorContext returns tensor type (#2533)

This commit enables TensorContext to return tensor type.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[nnkit] Introduce nnkit-run (#2527)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 06:43:49 +0000 (15:43 +0900)]
[nnkit] Introduce nnkit-run (#2527)

This commit introduces nnkit-run (which is a copy of nni) as the first
step to removing "nni".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Support block dump (#2528)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 06:29:01 +0000 (15:29 +0900)]
[enco] Support block dump (#2528)

This commit implement "enco_dump_block" debugging helper which shows all
the instructions in a given block.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: Introduce GraphBuilder (#2530)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 05:53:43 +0000 (14:53 +0900)]
[enco] frontend/caffe: Introduce GraphBuilder (#2530)

This will introduce GraphBuilder class as a base for layer imports

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Build ANN IR from ANNDepthConcatF instruction (#2521)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 05:38:07 +0000 (14:38 +0900)]
[enco] Build ANN IR from ANNDepthConcatF instruction (#2521)

ANN IRGen Pass now generates ANN IR from ANNDepthConcatF instruction.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Use override consistently (#2526)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 05:08:38 +0000 (14:08 +0900)]
[coco] Use override consistently (#2526)

With this commit, all the overridden methods in PlainWeightContextImpl
and DataImpl are marked with "override".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: Introduce GraphBuilderContext (#2529)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 05:08:30 +0000 (14:08 +0900)]
[enco] frontend/caffe: Introduce GraphBuilderContext (#2529)

* [enco] frontend/caffe: Introduce GraphBuilderContext

This will introduce GraphBuilderContext to pass information to operator import routines

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

5 years ago[enco] frontend/caffe: Separate as_tensor_shape (#2520)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 04:41:36 +0000 (13:41 +0900)]
[enco] frontend/caffe: Separate as_tensor_shape (#2520)

* [enco] frontend/caffe: Separate as_tensor_shape

This will separate as_tensor_shape() to its own file with caffeimport namespace

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* move using to global

5 years ago[coco] Fix a USE-AFTER-FREE bug in OpHelper test (#2519)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 03:44:03 +0000 (12:44 +0900)]
[coco] Fix a USE-AFTER-FREE bug in OpHelper test (#2519)

The current OpHelper test may access a freed Op object during
'teardown'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] frontend/caffe: Introduce WeightContext (#2524)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 03:43:27 +0000 (12:43 +0900)]
[enco] frontend/caffe: Introduce WeightContext (#2524)

* [enco] frontend/caffe: Introduce WeightContext

This will introduce WeightContext and take weight access part
File name is Context.h to include other context related classes as tflite

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* add headers and cpp file

5 years ago[tfldump] dump inputs and outputs (#2522)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 01:59:11 +0000 (10:59 +0900)]
[tfldump] dump inputs and outputs (#2522)

* [tfldump] dump inputs and outputs

This will add part to dump inputs and outputs of the Model

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

5 years ago[tfldump] dump operator options (#2516)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Dec 2018 01:16:14 +0000 (10:16 +0900)]
[tfldump] dump operator options (#2516)

This will add to dump operator options for each operator codes

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[coco] Deallocate Op in OpManager properly (#2500)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 6 Dec 2018 00:23:02 +0000 (09:23 +0900)]
[coco] Deallocate Op in OpManager properly (#2500)

The current implementation of OpManager just deallocates all the Op in
sequential order without considering their dependencies.

However, this implementation may result in USE-AFTER-FREE errors.

This commit guarantees that OpManager deallocates Op nodes from the root
to leaves.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Deallocate a partial Op tree correctly (#2502)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Dec 2018 23:38:45 +0000 (08:38 +0900)]
[coco] Deallocate a partial Op tree correctly (#2502)

The current implementation of destroy_all does not work for a partial Op
tree.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Reduce Identical Objects with free instructions (#2505)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Dec 2018 23:38:32 +0000 (08:38 +0900)]
[enco] Reduce Identical Objects with free instructions (#2505)

The current implementation of Reduce Identical Objects pass does not
work correctly in the presence of free instructions.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnc] Fix reduceOp reduction dimensions handling (#2494)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 5 Dec 2018 19:41:36 +0000 (22:41 +0300)]
[nnc] Fix reduceOp reduction dimensions handling (#2494)

- fix shape inference
- fix interpreter index computation

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Support for asymmetric strides in Pool, Conv2D, DepthwiseConv2D operations...
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 5 Dec 2018 17:02:39 +0000 (20:02 +0300)]
[nnc] Support for asymmetric strides in Pool, Conv2D, DepthwiseConv2D operations (#2460)

* Add support for asymmetric strides to Pool, Conv2D, DepthwiseConv2D operations;
* Refactor convolution and pooling parameter computation in Caffe importer.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Replace zero-dim tensors with tensor of shape {1} (#2513)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 5 Dec 2018 15:00:20 +0000 (18:00 +0300)]
[nnc] Replace zero-dim tensors with tensor of shape {1} (#2513)

Fixes multiple issues involving zero-dimension tensors. Includes Bias, Scale, Reduce and Elementwise operations

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
5 years ago[nnc] Use Transpose operation in Caffe importer (#2468)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 5 Dec 2018 12:47:37 +0000 (15:47 +0300)]
[nnc] Use Transpose operation in Caffe importer (#2468)

Use Transpose operation in Caffe importer to switch between Caffe NCHW and ModelIR NHWC formats.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[tfldump] Prepare dump Operator options (#2503)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Dec 2018 08:28:18 +0000 (17:28 +0900)]
[tfldump] Prepare dump Operator options (#2503)

This will add DumpOpRegistry and DumpOp to dump Operator options(properties)

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tfldump] fix clang warning (#2507)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Dec 2018 08:28:03 +0000 (17:28 +0900)]
[tfldump] fix clang warning (#2507)

This will fix clang compile warning with '-Wlogical-op-parentheses'

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tfldump] fix int to int32_t (#2509)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Dec 2018 08:27:51 +0000 (17:27 +0900)]
[tfldump] fix int to int32_t (#2509)

This will fix type int to int32_t to distinghish exact type

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[enco] Use "destroy_all" in coco (#2501)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Dec 2018 04:50:50 +0000 (13:50 +0900)]
[enco] Use "destroy_all" in coco (#2501)

The current implementation of Free Op Elimination pass uses its own
destroy function, but OpManager now provides "destroy_all" method which
has exactly same functionality.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfldump] Dump operators (#2497)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Dec 2018 04:14:48 +0000 (13:14 +0900)]
[tfldump] Dump operators (#2497)

* [tfldump] Dump operators

This will add part to Dump Operators and related functions

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

5 years ago[enco] Introduce extended coco IR (#2496)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Dec 2018 04:12:09 +0000 (13:12 +0900)]
[enco] Introduce extended coco IR (#2496)

This commit introduces a placeholder for extended coco IR entities. The
current implementation includes only one extended instruction (ANNDepthConcatF).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce OpManager::destroy_all (#2498)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Dec 2018 03:41:26 +0000 (12:41 +0900)]
[coco] Introduce OpManager::destroy_all (#2498)

With this commit, OpManager now allows users to destroy a Op tree via
destroy_all method.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfldump] dump operand quantization (#2495)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Dec 2018 03:39:38 +0000 (12:39 +0900)]
[tfldump] dump operand quantization (#2495)

* [tfldump] dump operand quantization

This will add dump to dump operand quantization information.
For this, add dump of flatbuffers::Vector type.

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

5 years ago[enco/tfl] Introduce Regression_0002 testcase (#2492)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Dec 2018 00:51:07 +0000 (09:51 +0900)]
[enco/tfl] Introduce Regression_0002 testcase (#2492)

This commit introduces Regression_0002 case which tests the
correctness of dead code elimination optimizations.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Free Op Elimination (#2491)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 10:35:34 +0000 (19:35 +0900)]
[enco] Free Op Elimination (#2491)

* [enco] Free Op Elimination

This commit introduces Free Op Elimination pass (and a related test) to
enco pipeline.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use consistent testcase name

5 years ago[coco] Introduce root helper (#2489)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 09:44:07 +0000 (18:44 +0900)]
[coco] Introduce root helper (#2489)

This commit introduces root helper which allows users to easily access the
root Op for a given Op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfldump] Dump operands(tensors) (#2486)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 4 Dec 2018 09:01:01 +0000 (18:01 +0900)]
[tfldump] Dump operands(tensors) (#2486)

This will add operands and it's properties
- tensors live in subgraph, subgraph selector is also introduced

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[coco] Generalize isa<T> and safe_cast<T> (#2490)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 08:58:46 +0000 (17:58 +0900)]
[coco] Generalize isa<T> and safe_cast<T> (#2490)

With this commit, isa<T> and safe_cast<T> correctly works even in the
presence of "unknown" derived classes.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Free Instr Elimination (#2487)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 08:17:24 +0000 (17:17 +0900)]
[enco] Free Instr Elimination (#2487)

This commit implements Free Instr Elimination pass (and a related test) in enco backend.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Remove cast<T> helper (#2482)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 07:48:15 +0000 (16:48 +0900)]
[coco] Remove cast<T> helper (#2482)

It is impossible to implement general cast<T> helper under open Instr
class hierarchy.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[stdex] Introduce Queue.h (#2484)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 07:48:06 +0000 (16:48 +0900)]
[stdex] Introduce Queue.h (#2484)

This commit introduces Queue.h which will hold various utilities for
std::queue<T>.

The current implementation includes only one helper: 'take'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfldump] Dump buffers (#2480)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 4 Dec 2018 07:10:43 +0000 (16:10 +0900)]
[tfldump] Dump buffers (#2480)

This will add dump buffers to Dump

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[coco] Remove Instr mutator interface (#2476)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 06:35:43 +0000 (15:35 +0900)]
[coco] Remove Instr mutator interface (#2476)

This mutator interface was introduced when Instr has closed hierarchy,
and thus it is no longer valid as Instr now support open hierarchy.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfldump] Add Reader with OpCode reader (#2475)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 4 Dec 2018 04:42:20 +0000 (13:42 +0900)]
[tfldump] Add Reader with OpCode reader (#2475)

* [tfldump] Add Reader with OpCode reader

This will introduce Reader class that holds OpCodes
Dump will dump operator codes that are used in the Model

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* opcode_name as a function

* move TFliteSubGraphs_t inside class

* show number legend

* add some more

5 years ago[coco] Support Custom Instr Construction via InstrManager (#2474)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Dec 2018 03:37:33 +0000 (12:37 +0900)]
[coco] Support Custom Instr Construction via InstrManager (#2474)

With this commit, users are able to construct a custom instr object
through InstrManager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[tfldump] Empty tflite Model dump (#2466)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 4 Dec 2018 01:36:51 +0000 (10:36 +0900)]
[tfldump] Empty tflite Model dump (#2466)

This will introduce empty tflite::Model dump as a place holder

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[nnc] MeanSoftBackend (#2367)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 3 Dec 2018 17:38:21 +0000 (20:38 +0300)]
[nnc] MeanSoftBackend (#2367)

This adds Support for reduction with Mean to C++ soft backend.
The implementation is a reference one from TFLite.

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years ago[nnc] Support non-unit batch in deconv (#2471)
Андрей Шедько/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Mon, 3 Dec 2018 17:03:56 +0000 (20:03 +0300)]
[nnc] Support non-unit batch in deconv (#2471)

Added support of Batch dimension in Deconv operation
* shape inference
* interpreter
* c++ softBackend

Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
5 years ago[nnc] Fix pool operation round mode (#2470)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 3 Dec 2018 16:05:35 +0000 (19:05 +0300)]
[nnc] Fix pool operation round mode (#2470)

* Add round mode to Pool operations for each framework
* Fix output shape for pooling operation
* Fix strides on Pool op shape inference

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years ago[nnc] Implementation of Transpose operation (#2464)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 3 Dec 2018 11:05:51 +0000 (14:05 +0300)]
[nnc] Implementation of Transpose operation (#2464)

* Add `Transpose` operation to ModelIR;
* Support `Transpose` operation in interpreter and soft backend.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[tfldump] Load tflite file (#2465)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 3 Dec 2018 07:25:21 +0000 (16:25 +0900)]
[tfldump] Load tflite file (#2465)

This will add tflite loader part of tfldump

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years ago[tfldump] Add tflite schema flatbuffers (#2445)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 3 Dec 2018 02:20:42 +0000 (11:20 +0900)]
[tfldump] Add tflite schema flatbuffers (#2445)

* [tfldump] Add tflite schema flatbuffers

This will add tflite schema and flatbuffers converter to generate the header
Empty Model.h is added to check the build

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

* rename files

* another rename

5 years ago[nnc] Set operations names based on layer names in Caffe importer (#2463)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 30 Nov 2018 19:37:40 +0000 (22:37 +0300)]
[nnc] Set operations names based on layer names in Caffe importer (#2463)

Refactor Caffe importer to set Operation names based on layer names (previously names were set based on output blob names).

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[nnc] Support batch axis in acl backend (#2462)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 30 Nov 2018 17:36:50 +0000 (20:36 +0300)]
[nnc] Support batch axis in acl backend (#2462)

- Support batch axis
- Add more checks on supported data formats
- Add assert in transposeShape and related fixes

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Utility to generate input tensors (#2143)
Тимур Отеллович Аблязимов/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 30 Nov 2018 13:57:27 +0000 (16:57 +0300)]
[nnc] Utility to generate input tensors (#2143)

Implemented utility that generates input data in the hdf5 format.

Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
5 years ago[nnc][utils] TFLIte model generator. Add operations. (#2383)
Иван Иванович Кулагин/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 30 Nov 2018 13:08:26 +0000 (16:08 +0300)]
[nnc][utils] TFLIte model generator. Add operations. (#2383)

Add support of generating nodes with several random
inputs which are consistent by tensor's shape.

Add operations:
 - DepthwiseConv2D
 - MaxPool/AvgPool
 - Softmax
 - fullyConnected

Signed-off-by: i-kulagin <i.kulagin@samsung.com>
5 years ago[nnc] Remove redundant CLCopy layer from inference sequence (#2449)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 30 Nov 2018 12:42:48 +0000 (15:42 +0300)]
[nnc] Remove redundant CLCopy layer from inference sequence (#2449)

Remove buggy CLCopy layer from inference, since it is not needed, and corrupts data

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Support asimmetrical paddings in tflite models in ACL backend (#2447)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 30 Nov 2018 12:38:50 +0000 (15:38 +0300)]
[nnc] Support asimmetrical paddings in tflite models in ACL backend (#2447)

Inference asimmetrical paddings for "Same" padding type on acl backend

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[nnc] Fix special case of bias layer after fc layer in ACL backend (#2448)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 30 Nov 2018 12:24:54 +0000 (15:24 +0300)]
[nnc] Fix special case of bias layer after fc layer in ACL backend (#2448)

Handle shape of bias weights with respect to previous operation.
Need to use different shape for operations after fully connected layer,
because it restores batch dimension in output tensor

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>