platform/core/ml/nnfw.git
6 years ago[neurun] Use Index as key for unordered_map (#2594)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 5 Sep 2018 05:06:58 +0000 (14:06 +0900)]
[neurun] Use Index as key for unordered_map (#2594)

This commit revises `unordered_map`s to use `graph::Index` as key
which used `int` as key because hash function was not exist.

Related PR : #2590

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Introduce getOperandLayout (#2591)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 5 Sep 2018 04:18:02 +0000 (13:18 +0900)]
[neurun] Introduce getOperandLayout (#2591)

Introduce `IBackendConfig::getOperandLayout` which returns
`operand::Layout` for each backend. Note that this assumes a backend
only support one type of operand layout.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoSquaredDifference nnapi delegate and Custom ops addition (#2569)
Prasanna R/System SW /SRI-Bangalore/Engineer/삼성전자 [Wed, 5 Sep 2018 04:16:47 +0000 (09:46 +0530)]
SquaredDifference nnapi delegate and Custom ops addition (#2569)

This patch adds changes for SquaredDifference in nnapi delegate
and also adds related CustomOps changes.
SquaredDifference kernel has been added.

Signed-off-by: prasannar <prasanna.r@samsung.com>
6 years ago[neurun] Use Index as key for unordered_set (#2590)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 5 Sep 2018 04:15:24 +0000 (13:15 +0900)]
[neurun] Use Index as key for unordered_set (#2590)

This commit revises `unordered_set`s to use `graph::Index` as key
which used `int` as key because hash function was not exist.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Do not use addTensorBuilder (#2573)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 5 Sep 2018 04:14:12 +0000 (13:14 +0900)]
[neurun] Do not use addTensorBuilder (#2573)

PR #2563 has introduced `IPlanBuilder::addTensorBuilder`. However
adding a call to `addTensorBuilder` for all nodes from Planner is an
overhead for development. So this commit revises to remove the calls.

However with this commit, `Linear::markTensor` method returns
`TensorBuilderSet` and passes it to `PlanBuilder::finalize`. Still
need to enhance this structure, so TODO comments are left.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[Model Parser] Update tflite file API (#2580)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 03:15:55 +0000 (12:15 +0900)]
[Model Parser] Update tflite file API (#2580)

Update tflite file API: schema in tensorflow r1.10

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Rename IBackendInitializer (#2583)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 5 Sep 2018 02:17:40 +0000 (11:17 +0900)]
[neurun] Rename IBackendInitializer (#2583)

Rename IBackendInitializer to IBackendConfig. This is for adding other
methods to this interface class.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoIntroduce `benchmark_tflite_model` option in test_driver.sh (#2582)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Sep 2018 01:46:01 +0000 (10:46 +0900)]
Introduce `benchmark_tflite_model` option in test_driver.sh (#2582)

Related Issue: #2544

In addition, garden test_driver.sh

- Align the usage message
- $MY_PATH is renamed to $TEST_DRIVER_DIR
- $ARTIFACT_PATH is not mandatory option any more.
  It is set based on $TEST_DRIVER_PATH automatically

`run_benchmark_tflite_model.sh` will be added in next PR.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agoAdd docker_env_pureacl_tflite_benchmark_model (#2566)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Sep 2018 01:07:36 +0000 (10:07 +0900)]
Add docker_env_pureacl_tflite_benchmark_model (#2566)

To build tflite_benchmark_model using docker, the corresponding docker
environment is added.

To distinguish tflite benchmark model for neurun, the env file gets
pureacl in the middle of the name.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years ago[neurun] Specialize `std::hash` for Index class (#2585)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 5 Sep 2018 01:02:28 +0000 (10:02 +0900)]
[neurun] Specialize `std::hash` for Index class (#2585)

(partially) Specialize `std::hash` for `graph::Index` class.
This will enable having Index as the key in "std::unordered_.."
containers.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[Model Parser] Update flatbuffers path (#2579)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Sep 2018 00:59:23 +0000 (09:59 +0900)]
[Model Parser] Update flatbuffers path (#2579)

Update flatbuffers path to use flatbuffer python library

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoCatch exception in nnapi test (#2581)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 23:31:21 +0000 (08:31 +0900)]
Catch exception in nnapi test (#2581)

Catch exception in nnapi test to avoid warning

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoUse unique pointer for ANeuralNetworksMemory (#2578)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 09:51:49 +0000 (18:51 +0900)]
Use unique pointer for ANeuralNetworksMemory (#2578)

Use unique pointer for ANeuralNetworksMemory to avoid memory leak warning

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Change path for wrapping structure (#2571)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 08:39:09 +0000 (17:39 +0900)]
[neurun] Change path for wrapping structure (#2571)

Change path for NeuralNetworks.h's wrapping structure

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoCoverity cross build & analyze script (#2560)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 08:16:54 +0000 (17:16 +0900)]
Coverity cross build & analyze script (#2560)

Coverity cross build & analyze script for daily coverity report

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoRemoving GeneratedTests.pad from the skiplist (#2574)
Siva Sai Vaddipati/System SW /SRI-Bangalore/Engineer/삼성전자 [Tue, 4 Sep 2018 07:57:38 +0000 (13:27 +0530)]
Removing GeneratedTests.pad from the skiplist (#2574)

As #2097 is merged, this commit removes GeneratedTests.pad from the skiplist.

Signed-off-by: Siva Sai <siva.sai@samsung.com>
6 years ago[neurun] Do BackendResolver in lowering (#2563)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 4 Sep 2018 06:03:23 +0000 (15:03 +0900)]
[neurun] Do BackendResolver in lowering (#2563)

* [neurun] Do BackendResolver in lowering

This commit moves doing BackendResolver into lowring in graph.

- TensorBuilder doesn't get Plan in constructor anymore.
- LowerInfo includes Backend class not backend string.
- BackendResolver returns only Backend class.

Signed-off-by: sjsujinkim sjsujin.kim@samsung.com
* Change backend() to getBackend()

6 years agoInitialize members in DiffSummary constructor (#2568)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 04:54:21 +0000 (13:54 +0900)]
Initialize members in DiffSummary constructor (#2568)

Initialize members in DiffSummary constructor to avoid warning

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Define default value in constructor (#2567)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 4 Sep 2018 04:54:08 +0000 (13:54 +0900)]
[neurun] Define default value in constructor (#2567)

Define default value in constructor for kernel

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Enhance DFS implementation (#2561)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 4 Sep 2018 04:07:38 +0000 (13:07 +0900)]
[neurun] Enhance DFS implementation (#2561)

Now that we have operand def/use info, we can do DFS efficiently.
This is applied to PostDfsIterator. This might also be applied to
DAGVerifier, but operand def/use info is built when Graph building is
finished.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Use MockNode.h in Insert test (#2565)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 4 Sep 2018 03:56:43 +0000 (12:56 +0900)]
[neurun] Use MockNode.h in Insert test (#2565)

This commit uses `MockNode.h` in Insert test.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agonnfw Adding SquaredDifferenceEx in NeuralNetworksEx.h (#2555)
Prasanna R/System SW /SRI-Bangalore/Engineer/삼성전자 [Mon, 3 Sep 2018 23:36:51 +0000 (05:06 +0530)]
nnfw Adding SquaredDifferenceEx in NeuralNetworksEx.h (#2555)

This patch adds '''ANEURALNETWORKS_SQUARED_DIFFERENCE_EX''' in the ''' NeuralNetworksEx.h'''

Signed-off-by: prasannar <prasanna.r@samsung.com>
6 years ago[neurun] Use forward declaration from a header (#2557)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 3 Sep 2018 11:28:37 +0000 (20:28 +0900)]
[neurun] Use forward declaration from a header (#2557)

Forward declare for the interfaces that are used from
`BackendManger.h`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Use forward decl from Node (#2558)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 3 Sep 2018 11:04:30 +0000 (20:04 +0900)]
[neurun] Use forward decl from Node (#2558)

Forward declare `LowerInfo` from `operation::Node` to reduce
dependencies.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Change check condition for addOperation & addOperationEx (#2551)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 10:34:13 +0000 (19:34 +0900)]
[neurun] Change check condition for addOperation & addOperationEx (#2551)

Change check condition for addOperation & addOperationEx to same with pacl

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoEnabling PAD operation in NNAPI (#2097)
Siva Sai Vaddipati/System SW /SRI-Bangalore/Engineer/삼성전자 [Mon, 3 Sep 2018 09:28:01 +0000 (14:58 +0530)]
Enabling PAD operation in NNAPI (#2097)

This commit enables PAD operation in pure_arm_compute runtime

Signed-off-by: Siva Sai <siva.sai@samsung.com>
6 years ago[neurun] Range-based loop for operand::IndexSet (#2554)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 3 Sep 2018 07:10:56 +0000 (16:10 +0900)]
[neurun] Range-based loop for operand::IndexSet (#2554)

Support and apply range-based loop for operand::IndexSet and remove
`list()` method.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Move CLSchedule default init to BackendManager (#2526)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 3 Sep 2018 05:44:29 +0000 (14:44 +0900)]
[neurun] Move CLSchedule default init to BackendManager (#2526)

* [neurun] Move CLSchedule default init to BackendManager

This commit moves CLSchedule default init to BackendManager, since it is ACL_CL specific code.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Extract backend initializer

* Add eol

* Remove unnecessary variable

* Remove unused include

6 years agoChange check condition for addOperationEx (#2550)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 05:42:36 +0000 (14:42 +0900)]
Change check condition for addOperationEx (#2550)

Change check condition for addOperationEx to same with addOperation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[tool] OpenCL info (#2549)
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 3 Sep 2018 05:04:43 +0000 (14:04 +0900)]
[tool] OpenCL info (#2549)

This tool shows information from OpenCL : info of paltform, context and devices.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
6 years ago[neurun] Return nullptr for NOP stage generator (#2553)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 04:44:17 +0000 (13:44 +0900)]
[neurun] Return nullptr for NOP stage generator (#2553)

Return nullptr for NOP stage generator

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Comment out unreachable code (#2552)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 04:43:18 +0000 (13:43 +0900)]
[neurun] Comment out unreachable code (#2552)

Comment out unreachable code in cpu kernel to avoid svace warning

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Update use-def init test (#2545)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 3 Sep 2018 02:31:00 +0000 (11:31 +0900)]
[neurun] Update use-def init test (#2545)

Use SimpleMockNode in header
Remove unused namespace alias

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Make initializeUseDef less verbose (#2546)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 3 Sep 2018 01:11:37 +0000 (10:11 +0900)]
[neurun] Make initializeUseDef less verbose (#2546)

Make `Graph::initializeUseDef` implementation less verbose via using
directly a lambda function.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Introduce DefaultIterator (#2535)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 08:29:17 +0000 (17:29 +0900)]
[neurun] Introduce DefaultIterator (#2535)

Introduce a default iterator that just iterates in the order of
`operation::Set::iterate` method.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoAdd memcpy() version of generic TensorSource for 3D tensor (#2477)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 08:28:44 +0000 (17:28 +0900)]
Add memcpy() version of generic TensorSource for 3D tensor (#2477)

This commit adds memcpy() version of generic TensorSource for 3D tensor.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoAdd a default param to asTensorShape() to apply conditionally (#2464)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 08:22:05 +0000 (17:22 +0900)]
Add a default param to asTensorShape() to apply conditionally (#2464)

This commit add a default param to asTensorShape() to apply conditionally dimension coorection.

In some cases, in incorrect dimensions is required.
For example, intput_size is 1 in LSTM. The input-to-input weights([num_units, input_size]) of LSTM is used as the weight of the FullyConnected.
The FullyConnected's weight must be greater or equal than 2-dimensions.
However, if the dimension correction is applied to input_to_input_weights with input_size equal to 1, it will be changed to 1-D.
So input_to_input_weights is not used by the weight of FullyConnected.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years ago[neurun] Initialize use & def information (#2543)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 07:34:09 +0000 (16:34 +0900)]
[neurun] Initialize use & def information (#2543)

Initialize use & def information in model finishing phase
Add test code to check initialized use&def information

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoAdd sourcing tensor more than 5 dimensions (#2529)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 06:54:50 +0000 (15:54 +0900)]
Add sourcing tensor more than 5 dimensions (#2529)

This commit adds sourcing tensor more than 5 dimensions.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years ago[neurun] Introduce SimpleMockNode for Graph test (#2536)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 06:51:43 +0000 (15:51 +0900)]
[neurun] Introduce SimpleMockNode for Graph test (#2536)

Introduce SimpleMockNode as a header file so it can be reused from
many tests.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Define use & def in operand (#2541)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 06:21:49 +0000 (15:21 +0900)]
[neurun] Define use & def in operand (#2541)

- Define use & def in operand
- Define base methods to append & remove

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoAdd assertion in ToARMCompute function (#2540)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 03:55:34 +0000 (12:55 +0900)]
Add assertion in ToARMCompute function (#2540)

This commit prevents a segfault from wrong access.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years agoUnify to use one function of asTensorShape() and asTensorInfo() (#2471)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 22:23:31 +0000 (07:23 +0900)]
Unify to use one function of asTensorShape() and asTensorInfo() (#2471)

* Unify to use one function of asTensorShape() and asTensorInfo()

This commit unifies to use one function(no overloading) of asTensorShape() and asTensorInfo().
- Export asTensorShape() out of asTensorInfo() to apply conditionally dimension correction.
- Unify to use one function to eliminate unnecessary complexity.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Remove unused overloading functions

This commit remove unused overloading functions.
 - asTensorInfo()
 - asTensorShape()

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoUpdate tensorflow register file (#2531)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 09:47:46 +0000 (18:47 +0900)]
Update tensorflow register file (#2531)

These operators are supported by Tensorflow v1.9.0

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years agoReturn nullptr for InitRSQRT (#2533)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:13:18 +0000 (17:13 +0900)]
Return nullptr for InitRSQRT (#2533)

Return nullptr for InitRSQRT to avoid svace warning

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Remove remain common tensor codes (#2528)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 08:12:57 +0000 (17:12 +0900)]
[neurun] Remove remain common tensor codes (#2528)

This commit removes remain common tensor codes.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years ago[neurun] Move Op.lst to graph/operation (#2530)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 08:12:41 +0000 (17:12 +0900)]
[neurun] Move Op.lst to graph/operation (#2530)

Move the file Op.lst to graph/operation from internal/op.
Now we no longer have any files in internal/op.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Define operation index list (#2532)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:12:03 +0000 (17:12 +0900)]
[neurun] Define operation index list (#2532)

Define operation index list (used for use-def)
Use list to support frequent append & remove

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years ago[neurun] Enable compile option Wall/Wextra/Werror (#2517)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 07:51:27 +0000 (16:51 +0900)]
[neurun] Enable compile option Wall/Wextra/Werror (#2517)

To keep our code clean, let us introduce those compile options.

- Wall : Enable most(not exactly all) of compiler warnings
- Wextra : Enable extra compiler warnings
- Werror : Treat warnings as error

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Move internal/operand to graph/operand (#2520)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 07:02:30 +0000 (16:02 +0900)]
[neurun] Move internal/operand to graph/operand (#2520)

Move internal/operand to graph/operand
Change namespace neurun::internal::operand to neurun::graph::operand
Remove internal/operand

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoRemove all fc tests of generated tests from skiplist (#2527)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 06:58:58 +0000 (15:58 +0900)]
Remove all fc tests of generated tests from skiplist (#2527)

- V1_0/fully_connected_float_1_nnfw
- V1_0/fully_connected_quant8_2
- V1_1/fully_connected_float_4d_simple

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoIntroduce GenericFullyConnectedLayer for fc (#2525)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 05:00:04 +0000 (14:00 +0900)]
Introduce GenericFullyConnectedLayer for fc (#2525)

4d fc tests of GeneratedTests are failed because runtimes can't
guess 4d input to 2d so far. This GenericFullyConnectedLayer handles the
case.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoEnable concat-related generatedTests (#2523)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 01:41:31 +0000 (10:41 +0900)]
Enable concat-related generatedTests (#2523)

All concat generatedTests work normally after merging #2494

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years ago[neurun] Remove internal::op nodes (#2519)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 01:02:46 +0000 (10:02 +0900)]
[neurun] Remove internal::op nodes (#2519)

Remove Nodes in the namespace internal::op and some classes related to
those nodes.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Fix build break (#2521)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 09:01:43 +0000 (18:01 +0900)]
[neurun] Fix build break (#2521)

Fix build break which is due to invalid shape_index of Reshape
operation.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Remove TensorMarker (#2515)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:55:21 +0000 (16:55 +0900)]
[neurun] Remove TensorMarker (#2515)

Now that we have interface `getInputs()` and `getOutputs()` in
operation Node, we do not need to implement TensorMarker for each
Node.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Fix Reshape operation (#2516)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:54:03 +0000 (16:54 +0900)]
[neurun] Fix Reshape operation (#2516)

shape_index is a tensor paramenter so it should be one of the inputs.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoUpdate runtime build in Makefile (#2518)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 29 Aug 2018 07:49:46 +0000 (16:49 +0900)]
Update runtime build in Makefile (#2518)

Update runtime build in Makefile to build neurun with purecl
It will be used for svace

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoSupport the broadcast of all cases (#2511)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:37:42 +0000 (16:37 +0900)]
Support the broadcast of all cases (#2511)

* Support the broadcast of all cases

This commit supports the broadcast of all case.
- Add Extending the rank of operand.
- Apply the bradcast to the arithmetic operations.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Remove unnecessary residual codes related to the broadcast

This commit removes unnecessary residual codes related to the broadcast.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoSupport CONCAT for all dimensions and all axes (#2494)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:12:17 +0000 (16:12 +0900)]
Support CONCAT for all dimensions and all axes (#2494)

This commit is similar with SPLIT implementation.
In order to avoid unnecessary copy around data,
it uses shared memory information.
It does not u se separate ACL function like SPLIT.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years agonnfw: RSQRT nnapi delegate and Custom ops addition. (#2472)
TANUJ TEKRIWAL/System SW /SRI-Bangalore/Engineer/삼성전자 [Wed, 29 Aug 2018 05:45:31 +0000 (11:15 +0530)]
nnfw: RSQRT nnapi delegate and Custom ops addition. (#2472)

* nnfw: RSQRT nnapi delegate and Custom ops addition.

These patch adds changes for RSQRT in nnapi_delegate
and also adds related CustomOps changes.

RSQRT kernel has been added.

Signed-off-by: Tanuj Tekriwal <tanuj.tekri@samsung.com>
* nnfw: Add pure_arm_compute layer for RSQRT

This patch adds the pure_arm_compute layer for RSQRT.
Related ACL changes to be added in different patch.

Signed-off-by: Tanuj Tekriwal <tanuj.tekri@samsung.com>
6 years ago[neurun] Update Dumper class (#2513)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 05:41:05 +0000 (14:41 +0900)]
[neurun] Update Dumper class (#2513)

As we have unified graph operation nodes, this commit updates class
`Dumper` accordingly.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoAdd an initializer for 3D tensor (#2487)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 02:29:59 +0000 (11:29 +0900)]
Add an initializer for 3D tensor (#2487)

This commit adds initializer for 3D tensor.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoEnable to check state of compilation in pureacl (#2439)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 02:16:27 +0000 (11:16 +0900)]
Enable to check state of compilation in pureacl (#2439)

This commit will enable to check if compilation is finished or not

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years ago[neurun] Merge graph node classes (#2497)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:45:03 +0000 (10:45 +0900)]
[neurun] Merge graph node classes (#2497)

Merge Old Node into New Node.

Old Node : `internal::tflite::op::Node`
New Node : `neurun::graph::operation::Node`

- struct `Param` for each Node holds non-tensor parameters only
- Tensor parameters are stored in `_inputs` and `_outputs`
- Provide a default implementation of get/setters for inputs and
  outputs of `Node`
- `NodeVisitors` are now for New Node, not Old Node
- class `Linear` now holds New Node rather than Old Node

This commit completes the draft commit #2479, with #2483 and #2486
which were already merged.

Resolve #2404

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Move CPU Tensor implementation to backend (#2509)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:44:28 +0000 (10:44 +0900)]
[neurun] Move CPU Tensor implementation to backend (#2509)

Move `internal/cpu.{h|cc}` to cpu backend directory.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoFix axis calculation of TensorSource from reversing to using ToARMComputeAxis (#2481)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:33:33 +0000 (10:33 +0900)]
Fix axis calculation of TensorSource from reversing to using ToARMComputeAxis (#2481)

This commit Fix axis calculation of TensorSource from reversing to using ToARMComputeAxis.

Supported tensor rank of TensorSource:
1D ~ 3D : reversing
more than 4D : ...NHWC -> WHCN...

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoUpdate arm ComputeLibrary version (#2508)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:31:11 +0000 (10:31 +0900)]
Update arm ComputeLibrary version (#2508)

Update ComputeLibrary to rebased version instead of merged one.
Note that this has zero diff, but removed merge commit.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Add insertOperation in graph (#2424)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 00:49:48 +0000 (09:49 +0900)]
[neurun] Add insertOperation in graph (#2424)

* [neurun] Add insertOperation in graph

This commit adds insertOperation which inserts between 2 operations in graph.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* some change test operand

* remove unused declaration

* get a pair of operand and operation index as parameter

* Add todo comment into insertOperation

* Change pair to seperate params

* Revise insertion test

* fix format

* Remove unused utility include

* rebase

* Change test comment

* Remove test header

6 years agoPrepare reshaping input(rank-4) into rank-2 on fc (#2505)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 10:34:36 +0000 (19:34 +0900)]
Prepare reshaping input(rank-4) into rank-2 on fc (#2505)

When input which has rank 4 as fc's input comes, it needs to be reshaped
into rank 2. This commit prepares the task by skeleton code and checking
input_size, output_size and batch_size

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoChange submodule tensorflow (#2504)
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 28 Aug 2018 09:47:04 +0000 (18:47 +0900)]
Change submodule tensorflow (#2504)

tensorflow/nnfw1.9 branch has force-pushed. This commit changes tensorflow submodule hash.

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years ago[neurun] Use `Index::value()` for `operation::Set` (#2499)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 08:42:47 +0000 (17:42 +0900)]
[neurun] Use `Index::value()` for `operation::Set` (#2499)

Use `Index::value()` method rather than `asInt()`. Note that `asInt()`
returns int32_t, `value()` return uint32_t.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoFix to check operands in detail (#2374)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 06:41:03 +0000 (15:41 +0900)]
Fix to check operands in detail (#2374)

Validation of scale and zeroPoint would be skipped for a while.
We do not know whether scalar type can have scale and zeroPoint.
To pass ValidationTest and GeneratedTest, this validation code would not be implemented until we can define this issue clearly.
Except that, this commit will enable check operands in detail

 - Add checking scale and zeropoint in `quant8` type
 - Add checking dimensionCount for scalars

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years agoFix setting TensorInfo to wrong shape in FullyConnected. (#2496)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 05:55:34 +0000 (14:55 +0900)]
Fix setting TensorInfo to wrong shape in FullyConnected. (#2496)

This commit fixes setting TensorInfo to wrong shape in FullyConnected.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoUpdate skiplist for linux and tizen (#2466)
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 28 Aug 2018 02:18:18 +0000 (11:18 +0900)]
Update skiplist for linux and tizen (#2466)

1. update skiplist on c0860ad

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoRemove unnecessary a condition. (#2476)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 02:17:54 +0000 (11:17 +0900)]
Remove unnecessary a condition. (#2476)

This commit removes unnecessary a condition.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoReduce unnecessary casting from template class for data (#2473)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 01:30:03 +0000 (10:30 +0900)]
Reduce unnecessary casting from template class for data (#2473)

This commit reduces unnecessary casting from template class for data.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years ago[neurun] Rename operation get/setter for in/output (#2486)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 01:02:20 +0000 (10:02 +0900)]
[neurun] Rename operation get/setter for in/output (#2486)

Rename operation for operation input/output's getter and setter

- `val inputs()` to `getInputs`
- `void inputs(val)` to `setInputs`
- `val outputs()` to `getOutputs`
- `void outputs(val)` to `setOutputs`

If there is multiple methods with same name, and one of them is
overriden, the compiler cannot find the other methods. For more,
please refer to https://stackoverflow.com/questions/15451020/can-i-override-only-one-method-in-inheritence

For the actual usage of our case, please refer to #2479.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] NodeVisitor argument as rvalue ref (#2483)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 00:54:33 +0000 (09:54 +0900)]
[neurun] NodeVisitor argument as rvalue ref (#2483)

Edit `graph::operation::Node::accept` method to accept rvalue
reference instead of lvalue reference.

Find the usage from #2479.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years ago[neurun] Remove verbose template param from Index (#2484)
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 11:00:36 +0000 (20:00 +0900)]
[neurun] Remove verbose template param from Index (#2484)

Remove unnecessary template parameter from class `Index`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
6 years agoImplement Split operator (#2448)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 09:28:09 +0000 (18:28 +0900)]
Implement Split operator (#2448)

* Implement Split operator

Split operator is implemented using CLSubTensor.
In order to avoid unnecessary copy around data,
it uses shared memroy information.
It does not use separate ACL function.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Handle negative axis case on Split operator

This commit handles a negative axis case on Split operator.
If the axis is negative, it updates the axis value by input tensor's rank.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Remove default parameter of derived class

To avoid setting different default parameters between parent and derived class,
this commit removes the default paramter of derived class.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years agoFix a typo of comment in Swizzle.h (#2485)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 09:27:41 +0000 (18:27 +0900)]
Fix a typo of comment in Swizzle.h (#2485)

This commit fixes a typo of comment in Swizzle.h

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoEnable to pass ValidationTestModel.CreateCompilation in pureacl (#2474)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 04:51:38 +0000 (13:51 +0900)]
Enable to pass ValidationTestModel.CreateCompilation in pureacl (#2474)

If building model is not finished, compilation cannot be created

- Add checking if building model is finished or not

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years ago[neurun] Add runtime error for no tested quant8 cpu kernels (#2475)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 04:24:45 +0000 (13:24 +0900)]
[neurun] Add runtime error for no tested quant8 cpu kernels (#2475)

This commit adds runtime error for no tested quant8 cpu kernels.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years ago[neurun] Enable convolution quant8 for cpu (#2434)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 02:39:44 +0000 (11:39 +0900)]
[neurun] Enable convolution quant8 for cpu (#2434)

This commit enables convolution quant8 for cpu.

Just copied from android NN codes using tflite like any other cpu kernels.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years ago[neurun] Change data structure of Set to map (#2417)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 02:15:52 +0000 (11:15 +0900)]
[neurun] Change data structure of Set to map (#2417)

* [neurun] Change data structure of Set to map

This commit changes data structure of `Set` to map for more efficient graph manipulation.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Change maximum bound of index count

6 years agoModify topkV2 testdata and rename test name (#2425)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 01:43:20 +0000 (10:43 +0900)]
Modify topkV2 testdata and rename test name (#2425)

`GeneratedTests.topk_v2_1D_uint8` and `GeneratedTests.topk_v2_2D_uint8` are tests for `topkV2` operation using quant8 type
However, despite not correctly given test data format, two tests are passed because of weak dataset

 - Modify `_uint8` to `_quant8` in test name
 - Modify test data information of quant8 for `GeneratedTests.topk_v2_1D_uint8` and `GeneratedTests.topk_v2_2D_uint8`

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years agoEnable explicit Conv2D on pureacl NEON runtime (#2470)
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 27 Aug 2018 01:34:59 +0000 (10:34 +0900)]
Enable explicit Conv2D on pureacl NEON runtime (#2470)

- Enable explicit Conv2D on pureacl NEON runtime

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years ago[neurun] Remove type info in shape (#2444)
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 27 Aug 2018 01:34:13 +0000 (10:34 +0900)]
[neurun] Remove type info in shape (#2444)

* [neurun] Remove type info in shape

Remove type info and API in shape

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove out-dated comments

6 years agoTranspose op for spatial dimensions (height-width) (#2371)
Vishal Keshav/System SW /SRI-Bangalore/Engineer/삼성전자 [Fri, 24 Aug 2018 09:20:22 +0000 (14:50 +0530)]
Transpose op for spatial dimensions (height-width) (#2371)

* Transpose op for spatial dimensions (height-width)

Implemented transpose applicable along height-width axis
This is a specific permutation corresponding to vector [0,2,1,3]
Generic transposition requires CL permute which may be slower

Next patch will have generic transpose with permute.

Signed-off-by: Vishal Keshav <vishal.k1@samsung.com>
* Updated compilation with comments and TODO

Added comments and TODO

Signed-off-by: Vishal Keshav <vishal.k1@samsung.com>
6 years agoEnable Explicit MaxPool2d on pureacl NEON runtime (#2468)
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 Aug 2018 09:06:06 +0000 (18:06 +0900)]
Enable Explicit MaxPool2d on pureacl NEON runtime (#2468)

- Enable Explicit MaxPool2d on pureacl NEON runtime

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoEnable Explicit Avgpool2d on pureacl NEON runtime (#2469)
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 Aug 2018 09:05:57 +0000 (18:05 +0900)]
Enable Explicit Avgpool2d on pureacl NEON runtime (#2469)

- Enable Explicit Avgpool2d on pureacl NEON runtime

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoEnable GeneratedTests.logistic_quant8_* tests (#2419)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 07:03:47 +0000 (16:03 +0900)]
Enable GeneratedTests.logistic_quant8_* tests (#2419)

Remove below testcases in skip list:
  GeneratedTests.logistic_quant8_1
  GeneratedTests.logistic_quant8_2

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years agoAdd nnapi delegation of Split (#2462)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 07:00:05 +0000 (16:00 +0900)]
Add nnapi delegation of Split (#2462)

Add nnapi delegation of Split

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years ago[neurun] Introduce contains in IndexSet (#2457)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 03:46:10 +0000 (12:46 +0900)]
[neurun] Introduce contains in IndexSet (#2457)

This commit introduces contains helper in IndexSet for checking if index of operand is exist.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoAdd nnapi_quickcheck for split operator (multi-dimension) (#2449)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:30:13 +0000 (11:30 +0900)]
Add nnapi_quickcheck for split operator (multi-dimension) (#2449)

Add below testcases for split operator:
  NNAPI_Quickcheck_split_2.simple_test (4 rank, 2 axis)
  NNAPI_Quickcheck_split_3.simple_test (2 rank, 1 axis)
  NNAPI_Quickcheck_split_4.simple_test (2 rank, 0 axis)

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
6 years agoEnable to pass ValidationTestModel.Finish in pureacl (#2454)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:29:01 +0000 (11:29 +0900)]
Enable to pass ValidationTestModel.Finish in pureacl (#2454)

- Add checking if building model is finished or not

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years agoEnable to pass ValidationTestModel.AddOperation in pureacl (#2451)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:28:46 +0000 (11:28 +0900)]
Enable to pass ValidationTestModel.AddOperation in pureacl (#2451)

In `ValidationTestModel.AddOperation`, if inputs or outputs are `nullptr`, it is always error even if `inputCount` and `outputCount` is zero.
This commit will modify those conditions, and add some checkings to pass the test.

 - Modify `nullptr` check condition
 - Add checking if building model is finished or not
 - Add checking if type is invalid or not

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years agoEnable to pass ValidationTestModel.identifyInputsAndOutputs in pureacl (#2452)
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:27:54 +0000 (11:27 +0900)]
Enable to pass ValidationTestModel.identifyInputsAndOutputs in pureacl (#2452)

- Add checking if building model is finished or not

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
6 years agoIntroduce Split operation into pureACL runtime (#2447)
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:24:49 +0000 (11:24 +0900)]
Introduce Split operation into pureACL runtime (#2447)

* Introduce Split operation into pureACL runtime

This commit introduces Split operation into pureACL runtime.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Remove num_split_index of Split operator

The `num_split_index` is always the same with the number of output.
So it can be omitted.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>