[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>
ACL backend documentation (#2547)
The ACL backend internal structure documentation.
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
박세희/동작제어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
박세희/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
박세희/동작제어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>
윤현식/동작제어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
윤현식/동작제어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>
박세희/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
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>
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>
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>
박세희/동작제어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>
박세희/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
윤현식/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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
박세희/동작제어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
박종현/동작제어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>
박세희/동작제어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
박세희/동작제어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
박세희/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
[nnc] Fix reduceOp reduction dimensions handling (#2494)
- fix shape inference
- fix interpreter index computation
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
[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>
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>
[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>
박세희/동작제어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>
박세희/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
박세희/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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>
박종현/동작제어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>
박세희/동작제어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
박종현/동작제어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>
박세희/동작제어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>
[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>
[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>
[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>
[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>
박세희/동작제어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>
박세희/동작제어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
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[nnc] Fix importer test (#2457)
Fixed exit code in importer test, added a version check so that the test
is not run on older TF
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 30 Nov 2018 10:25:13 +0000 (13:25 +0300)]
[nnc] Support Pad operation on soft backend (#2364)
* Add serialization on softbackend
* Add deserialization on softbackend
* Add cpp_pad snippet
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 30 Nov 2018 08:19:59 +0000 (17:19 +0900)]
[enco/tfl] Validate stride (#2455)
This commit introduces basic tfl model validation infrastructure to tfl
frontend.
The current implementation supports 'stride' validation for the following
operations:
- Conv2D
- DepthwiseConv2D
- MaxPool2D
- AveragePool2D
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박천교/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 30 Nov 2018 04:35:08 +0000 (13:35 +0900)]
[encodump] Fix a bug not generating comma (#2421)
Now generating comma separated list output for size more than 1.
Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 30 Nov 2018 02:11:15 +0000 (11:11 +0900)]
[tflchef] Store op codes only once (#2401)
* [tflchef] Store op codes only once
This will change tflchef to store operator codes only once in the table
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* apply comments
[nnc] Perform shape inference at construction time (#2399)
* Move shape inference functionality from separate class to constructors of individual operations;
* First dimension of input is no longer removed by the importers;
* Adjust ModelIR, soft backend and interpreter to correctly work with non-stripped first dimension;
* Minor coding style fixes and comments.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
[nnc] Added reducemean to modelir (#2234)
- Added ReduceMean to ModelIR (Mean in tflite, not present in caffe)
The functionality allows one to support other reduction operations
rather effortlessly (in interpreter).
- Added tests for shape Inference.
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
[nnc] ConstantOp, shape inference, model analyze, serialize, first artifact initial versions were implemented. (#2394)
New ConstantOp was added: at the moment it's used for input constant tensors like weights, etc.
Shape inference, model analyzing, etc, are working enough to be able to create the first artifact.
Signed-off-by: Andrew V. Tischenko <a.tischenko@partner.samsung.com>
[nnc] Make Mobile and Inception-v3 working (#2416)
These commit starts a sequence of commits introducing the debugged version of the ACL backend operations used in the Mobilenet and Inception-v3 networks.
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 29 Nov 2018 06:12:59 +0000 (15:12 +0900)]
[tfldump] Tool to dump TFlite file (#2444)
This will introduce empty project for tfldump tool to dump TFlite file to console in text form.
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 29 Nov 2018 05:50:41 +0000 (14:50 +0900)]
[enco/tfl/frontend] Creation of context ob outside of loop (#2442)
This commit moves creation of context ob outside of loop.
(putting creation code inside loop creates same object over and over)
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 29 Nov 2018 05:25:48 +0000 (14:25 +0900)]
[enco] Support constant folding (#2441)
This commit introduces constant folding pass into the enco compilation
pipeline.
Note that the current implementation supports folding over "copy"
instruction only.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 29 Nov 2018 01:30:05 +0000 (10:30 +0900)]
[enco] Properly insert setOperandValue calls (#2439)
With the current implementation, it is possible that some setOperandValue
calls are missing during ANN IR construction.
With this commit, enco now inserts setOperandValue call for every operand
with constant weight.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
[nnc] Add Resize Nearest Neighbor (#2315)
Added Resize Nearest Neighbor to tflite importer and interpreter.
Added shape inference tests some cases.
The op allows adding more resize types by just adding new values to the enum and backends.
The corresponding Op in ONNX is Upsample and it can be supported without modifications
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
Add Test Round 2.1 in System Test Document (#2329)
* added tests for Tizen and SmartMachine OS
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 28 Nov 2018 14:14:24 +0000 (17:14 +0300)]
[nnc] Remove redundant interpreter options (#2425)
- Remove cli options for input/output node, which are used only in interpreter
- fix code style in interpreter_pass.cpp
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 28 Nov 2018 04:48:28 +0000 (13:48 +0900)]
[enco/tfl/frontend] change names : `conv..` to `dconv...` (#2431)
By refactoring, names with `conv...` was changed to `dconv...`.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 28 Nov 2018 04:25:06 +0000 (13:25 +0900)]
[enco/tfl/frontend] test for DepthwiseConv2D for mobilenet (#2428)
Test case for IFM width = 2 * OFM width, IFM height = 2 * OFM height, SAME padding, stride 2
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 28 Nov 2018 03:45:35 +0000 (12:45 +0900)]
[enco/tfl/frontend] DepthwiseConv2D (same padding, ifm h=ofm h, ifm w=ofm w) (#2391)
* [enco/tfl/frontend] DepthwiseConv2D
DepthwiseConv2D for enco tflite frontend. Tested with stride=[1,1]
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* pr fix: enter
* pr fix: removed swap, renaming some value, added asserts
* pr fix: Replaced "comment" with "#"
* pr fix: Fix unefficient declaration of new_shape
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 28 Nov 2018 03:43:49 +0000 (12:43 +0900)]
[enco] Delegate Concat to NN runtime (#2426)
With this commit, enco backend delegates ConcatF to NN runtime
instead of lowering it as a sequence of Shuffle.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 28 Nov 2018 00:19:00 +0000 (09:19 +0900)]
[tflchef] Replace test files with cmake file GLOB (#2380)
This will replace individual test list preparation with file GLOB
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 27 Nov 2018 06:00:18 +0000 (15:00 +0900)]
[tflchef/rev] support quantization (#2402)
* [tflchef/rev] support quantization
This will enable reading quantization from tflite and store to tflchef
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* remove space
* add note
* fix typo
* remove invalid '> 0'
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 27 Nov 2018 04:07:22 +0000 (13:07 +0900)]
[tflchef] Support quantization parameters (#2379)
* [tflchef] Support quantization parameters
This commit will introduce quantization parameters and add related tests
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
* modify convention and data
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 27 Nov 2018 04:05:44 +0000 (13:05 +0900)]
[tflchef/rev] Write reshape explicit values (#2418)
This will change tflchef-reverse to provide explicit values of shape information for the operand used by reshape operator
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 27 Nov 2018 02:40:08 +0000 (11:40 +0900)]
[enco/tfl/frontend] Padding when top == bottom -1 or left = right-1 (#2411)
* [enco/tfl/frontend] Padding when top == bottom -1 or left = right-1
get_padding() now calculates padding when top == bottom -1 or left = right-1
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* pr fix: calculate -> compute, ifm -> in_size
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 27 Nov 2018 02:35:44 +0000 (11:35 +0900)]
[enco] Do NOT reduce identical objects with side effect (#2419)
* [enco] Do NOT reduce identical objects with side effect
Update on one object may have a side effect through its backing bag. So,
reduction in identical objects with side effect results in incorrect
compilation artifact.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update the examples in the comment