platform/core/ml/nnfw.git
5 years agoSupport NHWC layout for calculating the offset of acl tensor (#5137)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 09:41:31 +0000 (18:41 +0900)]
Support NHWC layout for calculating the offset of acl tensor (#5137)

This commit supports NHWC layout for calculating the offset of acl tensor.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoMove fullyconnected activation resolve (#5132)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:59:42 +0000 (16:59 +0900)]
Move fullyconnected activation resolve (#5132)

Move fullyconnected operation's activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove maxpool padding & activation resolve (#5120)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:53:13 +0000 (16:53 +0900)]
Move maxpool padding & activation resolve (#5120)

Move maxpool padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove OperationIndex definition to Index.h (#5117)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 07:52:24 +0000 (16:52 +0900)]
Move OperationIndex definition to Index.h (#5117)

As all index classes other than `OperationIndex` are all in `Index.h`,
this commit moves `OperationIndex` definition to `Index.h` and removes
`OperationIndex.h`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoMove elementwise op padding & activation resolve (#5129)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:34:00 +0000 (16:34 +0900)]
Move elementwise op padding & activation resolve (#5129)

Move arithmetic elementwise operation padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove conv2d padding & activation resolve (#5124)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:33:40 +0000 (16:33 +0900)]
Move conv2d padding & activation resolve (#5124)

Move convolution padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove averagepool padding & activation resolve (#5123)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:33:20 +0000 (16:33 +0900)]
Move averagepool padding & activation resolve (#5123)

* Move averagepool padding & activation resolve

Move average pool padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix constant check assertion and fix bug

- Fix to set explicit padding type
- Remove assert because asScalar has same assertion

5 years agoMove L2 pooling padding & activation resolve (#5126)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:30:37 +0000 (16:30 +0900)]
Move L2 pooling padding & activation resolve (#5126)

Move l2 pooling padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove depthwise-conv padding & activation resolve (#5119)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:26:03 +0000 (16:26 +0900)]
Move depthwise-conv padding & activation resolve (#5119)

Move depthwise convolution padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRuntime test with mixed backends (#5125)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 06:51:34 +0000 (15:51 +0900)]
Runtime test with mixed backends (#5125)

* Runtime test with mixed backends

Initial version of runtime test with mixed backends (Fixed backend
assignment)

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Remove logging

* Fix typo comments and add TODO

5 years ago[dotdump] Show Subgraphs (#5128)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 06:24:01 +0000 (15:24 +0900)]
[dotdump] Show Subgraphs (#5128)

Show subgraphs using dot's subgraph(cluster) feature.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoChange in GTests of PReLU (#5110)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 02:04:26 +0000 (11:04 +0900)]
Change in GTests of PReLU (#5110)

* Change in GTests of PReLU

Since prelu_ex_float_1 and prelu_ex_float_2 perform similar tests
This patch adds a replacement test

Signed-off-by: prasannar <prasanna.r@samsung.com>
* Add Quant8 test cases for PReLU op

This patch adds Quant8 test cases for PReLU op

Signed-off-by: prasannar <prasanna.r@samsung.com>
5 years agoMove BackendSet to graph::BackendSet (#5130)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 00:56:03 +0000 (09:56 +0900)]
Move BackendSet to graph::BackendSet (#5130)

Move `BackendSet` to `graph::BackendSet`. It was in
`graph::operand::BackendSet` which is misleading.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Introduce CopySource and CopySink (#5116)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 2 May 2019 05:47:49 +0000 (14:47 +0900)]
[neurun] Introduce CopySource and CopySink (#5116)

This commit Introduces CopySource and CopySink.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRevise header include in OperationFactory.cc (#5101)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 May 2019 05:36:22 +0000 (14:36 +0900)]
Revise header include in OperationFactory.cc (#5101)

- Change to use brackets for core header include
- Include NNAPIConverter.h to prepare to use activation and padding type converter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRenewed README.md with 2019 plan (#5102)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 2 May 2019 05:35:50 +0000 (14:35 +0900)]
Renewed README.md with 2019 plan (#5102)

* Renewd README.md with 2019 plan

- Update target platform
- Trim the sentence
- Add notification about _nncc_ integration

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
* Fix typo.

- remove duplicated word.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years ago[neurun] Introduce getting layout into backend (#5030)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 2 May 2019 04:42:05 +0000 (13:42 +0900)]
[neurun] Introduce getting layout into backend (#5030)

This commit introduces getting layout into backend tensors.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoActivation builder using internal activation type (#5099)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 May 2019 04:08:40 +0000 (13:08 +0900)]
Activation builder using internal activation type (#5099)

Introduce activation builder append method using neurun internal activation type

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoUpdate sample app document (#5104)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 May 2019 03:57:26 +0000 (12:57 +0900)]
Update sample app document (#5104)

- Describe runtime with tensorfliw lite is not official support
- Tensorflow -> tensorflow lite
- Update chapter "Build a model": title, etc.

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove unused RandomObject.h (#5108)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 May 2019 01:14:22 +0000 (10:14 +0900)]
Remove unused RandomObject.h (#5108)

Remove unused RandomObject
Random value generation for tests are defined at libs/tflite/include/tflite/Diff.h

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoSoftware requirement specification for 2019 (#5105)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 30 Apr 2019 12:26:24 +0000 (21:26 +0900)]
Software requirement specification for 2019 (#5105)

* Software requirement specification for 2019

- Initial draft of SRS

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoIntroduce SubgraphIndex (#5106)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 30 Apr 2019 09:05:56 +0000 (18:05 +0900)]
Introduce SubgraphIndex (#5106)

`OperationIndex` was used for Subgraph indices, which can be confusing.
This commit introduces `SubgraphIndex` for `Subgraph`s.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoAdd HowtoMakeSampleAppOnNnfw.md (#4129)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 30 Apr 2019 06:12:54 +0000 (09:12 +0300)]
Add HowtoMakeSampleAppOnNnfw.md (#4129)

* Add HowtoMakeSampleAppOnNnfw.md

Related issue: 4128
Add tutorial about How to make a sample app on nnfw

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Fix "_nnfw_ API" as "NNAPI"

Fix "_nnfw_ API" as "NNAPI"

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Describe how to implement app with nnfw

Prev version was how to implement in the level of nnapi_delegate. This
version is how to create on top of nnapi_delegate

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoRemove return in cpu backend kernel (#5096)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Apr 2019 06:00:02 +0000 (15:00 +0900)]
Remove return in cpu backend kernel (#5096)

Remove unused bool type return in cpu backend kernel
Remove bool type return in helper function: always return true
Remove __wur (warning unused return) attribute in helper function

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[dotdump] Remove Operation LowerInfo (#5087)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 30 Apr 2019 05:07:21 +0000 (14:07 +0900)]
[dotdump] Remove Operation LowerInfo (#5087)

As now LowerInfo is per-subgraph(not per-operation), we need to remove
Operation LowerInfo and Backend label from `DotNodeInfo`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoActivation range calculator using internal type (#5093)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Apr 2019 05:04:18 +0000 (14:04 +0900)]
Activation range calculator using internal type (#5093)

Introduce helper function in cpu backend for activation range calculation
Helper function use neurun internal activation type instead of NNAPI FuseCode type

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoUse nchw::View instead of Reader (#5084)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 30 Apr 2019 03:41:45 +0000 (12:41 +0900)]
Use nchw::View instead of Reader (#5084)

`Reader` is only for tensors of no paddings, while `nchw::View` can
cover padding cases.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoMove graph::Index to util::Index (#5094)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 30 Apr 2019 03:41:23 +0000 (12:41 +0900)]
Move graph::Index to util::Index (#5094)

`graph::Index` is a class for indices in general, so it should not
belong to `graph` namespace.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove Operation::InitParam (#5095)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 30 Apr 2019 03:41:13 +0000 (12:41 +0900)]
Remove Operation::InitParam (#5095)

This was just for creation of operations from NNAPI, so it is not used
any longer.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoIntroduce activation and padding type converter (#5092)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Apr 2019 01:01:03 +0000 (10:01 +0900)]
Introduce activation and padding type converter (#5092)

Introduce nnapi to neurun internal activation and padding type converter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Revise Executor classes to have a proper container for Subgraph (#5035)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 30 Apr 2019 00:50:16 +0000 (09:50 +0900)]
[neurun] Revise Executor classes to have a proper container for Subgraph (#5035)

* [neurun] Revise Executor classes to have a proper container for Subgraph

- ExecutorBase has no any container for Subgraph
- LinearExecutor has a vector container
- DataflowExecutor has a map container

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* Extract Element as a file from Linear class

* Revise Executor classes with owned proper containers

5 years agoExecute add operation in interpreter (#5088)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Apr 2019 00:47:22 +0000 (09:47 +0900)]
Execute add operation in interpreter (#5088)

Implement naive interpreter execution module
Fix interpreter gtest's input/output value

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoPrepare interpreter add operation (#5060)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 29 Apr 2019 06:51:27 +0000 (15:51 +0900)]
Prepare interpreter add operation (#5060)

Add methods in ExecEnv to check and get tensor
Restrict ExecEnv to own tensors have buffer space
Assert for add operation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce neurun activation and padding enum class (#5075)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 29 Apr 2019 04:10:00 +0000 (13:10 +0900)]
Introduce neurun activation and padding enum class (#5075)

Introduce neurun activation type enum: none, relu, relu1, relu6
Introduce neurun padding type enum: explicit, same, valid

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago [neurun] Enable Split op in neurun (#5068)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 26 Apr 2019 04:24:19 +0000 (13:24 +0900)]
 [neurun] Enable Split op in neurun  (#5068)

* [neurun] Enable Split op in neurun

This commit enables Split op in neurun for acl_cl

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
* Fix nnapi_delegate bug

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix build error by rebase

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoEnable custom oprations test (#5071)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 26 Apr 2019 00:48:56 +0000 (09:48 +0900)]
Enable custom oprations test (#5071)

Enable custom operations framework test again

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Rename classes in model::operand (#5062)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 25 Apr 2019 04:40:07 +0000 (13:40 +0900)]
[neurun] Rename classes in model::operand (#5062)

Rename all classes in `model::operand` Many changes are included in this
commit to avoid conflicts many times.

- `operand::Object` -> `Operand`
- `operand::Info` -> `OperandInfo`
- `operand::Data` -> `Data`
- `operand::DataType` -> `DataType`
- `operand::TypeInfo` -> `TypeInfo`
- `operand::Shape` -> `Shape`
- `operand::Index` -> `OperandIndex`
- `operand::IO::Index` -> `IOIndex`
- `operand::IndexMap` -> `OperandIndexMap`
- `operand::IndexSequence` -> `OperandIndexSequence`

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove usage field in operand (#5066)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 25 Apr 2019 02:18:24 +0000 (11:18 +0900)]
Remove usage field in operand (#5066)

Remove usage field and related methods in internal operand

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Rename classes in model::operation (#5018)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 24 Apr 2019 08:08:11 +0000 (17:08 +0900)]
[neurun] Rename classes in model::operation (#5018)

* [neurun] Rename classes in model::operation

Rename the rest of classes in `model::operation` other than Operation
derivatives and subgraph modules. Many changes are included in this
commit to avoid conflicts many times.

- `operation::NodeVisitor` -> `OpVisitor`
- `operation::OperandConstraint` -> `OperandConstraint`
- `operation::IndexList` -> `OperationIndexList`
- `operation::Set` -> `OperationManager`
- `operation/Op.lst` -> `Op.lst`
- `operation/Node.Include.h` -> `Operation.Include.h`

Part of #4985

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Fix nits

* Rename OpXXX to OperationXXX

- OpVisitor.h => OperationVisitor.h
- Op.lst => Operations.lst

* Rebase fix

* Rename OperationManager to Operations

* Fix ifdef guards - OperandConstraint and Operation

5 years agoImplement COPY kernel for PermuteLayer (#5052)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 24 Apr 2019 08:00:12 +0000 (17:00 +0900)]
Implement COPY kernel for PermuteLayer (#5052)

* Implement COPY kernel for PermuteLayer

PermuteLayer was supported NHWC to NCHW or vice versa. So it was not
able to handle just COPY case.

For #5044

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Handle paddings

5 years agoRemove operand usage check in neurun internal (#5057)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Apr 2019 07:59:51 +0000 (16:59 +0900)]
Remove operand usage check in neurun internal (#5057)

Remove operand usage check assertion

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoCheck operand usage in frontend (#5056)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Apr 2019 05:13:15 +0000 (14:13 +0900)]
Check operand usage in frontend (#5056)

Check operand usage by using operand usage vector in nnapi frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove make tflite (#5055)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Apr 2019 03:54:42 +0000 (12:54 +0900)]
Remove make tflite (#5055)

Remove make tflite command: not used anymore for svace and coverity check

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoUpdate howto document (#5047)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Apr 2019 00:48:31 +0000 (09:48 +0900)]
Update howto document (#5047)

Update howto document's tflite model link

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRename hasData to isConstant (#5046)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 10:37:34 +0000 (19:37 +0900)]
Rename hasData to isConstant (#5046)

Rename hasData to isConstant
It is used to check operand is constant

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix LD_LIBRARY_PATH setting for model benchmark (#5051)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 10:32:22 +0000 (19:32 +0900)]
Fix LD_LIBRARY_PATH setting for model benchmark (#5051)

Fix LD_LIBRARY_PATH setting for model benchmark to use pure acl

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix validation test (#5034)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 10:32:00 +0000 (19:32 +0900)]
Fix validation test (#5034)

Set operand's value for activation to ANEURALNETWORKS_FUSED_NONE
Test model's input operand numbers and size are also changed: [0, 1, 2] -> [0, 1]
By this, we can enable all validation test on acl-cl backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoManage operand stack and operation stack for interpretation (#5020)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 08:31:17 +0000 (17:31 +0900)]
Manage operand stack and operation stack for interpretation (#5020)

- Introduce operand ready checker
- Introduce operation stack to save prepared operation
- Manage operand stack and operation stack and show log

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce operand usage vectorin frontend (#5039)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 07:59:17 +0000 (16:59 +0900)]
Introduce operand usage vectorin frontend (#5039)

Collect operand usage info in frontend
Clear when model building is finished
Prepare removing nnapi-dependent usage info in neurun model operand

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce build option for tflite accuracy tool (#5048)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 07:58:13 +0000 (16:58 +0900)]
Introduce build option for tflite accuracy tool (#5048)

Introduce build option for tflite accuracy tool and set off as default

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoChange default runtime to neurun (#5042)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 07:09:14 +0000 (16:09 +0900)]
Change default runtime to neurun (#5042)

* Change default runtime to neurun

Change default runtime: pacl -> neurun

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Enable loggin runtime default

5 years ago[batch_run] A batch execution tool used to run experiments (#4507)
Saulo Aldighieri Moraes/AI R&D /SRBR/Engineer/삼성전자 [Tue, 23 Apr 2019 07:06:08 +0000 (04:06 -0300)]
[batch_run] A batch execution tool used to run experiments (#4507)

* Related: #4405

The batch execution tool can be used to run experiments. It reads a neural network model from a file and a series of input images from a directory, runs each image through the network, and collect
statistics, such as execution time and accuracy.

Signed-off-by: Saulo A. Moraes <s.moraes@samsung.com>
* Remove boost_ext reference

Build script cleanup, remove unnecessary reference to boost_ext.

Signed-off-by: Saulo A. Moraes <s.moraes@samsung.com>
* Related: #4405

  Code review fixes and tool rename from batch_run to tflite_accuracy.

Signed-off-by: Saulo A. Moraes <s.moraes@samsung.com>
5 years agoRemove operand usage getter methods (#5038)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Apr 2019 04:20:20 +0000 (13:20 +0900)]
Remove operand usage getter methods (#5038)

- Remove unused isModelInput() method
- Remove usage() method. Use hasData() and model's input/output

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIgnore try-run result on cross build (#5031)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 22 Apr 2019 03:50:16 +0000 (12:50 +0900)]
Ignore try-run result on cross build (#5031)

* Ignore try-run result

Ignore try-run result on cross build when finding cmake threads package
Threads package is checked when finding pre-installed tflite package

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix comment

5 years agoChange ARGMAX definition (#5021)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 22 Apr 2019 02:25:55 +0000 (11:25 +0900)]
Change ARGMAX definition (#5021)

Chagne ARGMAX definition same with current NNAPI
- Allow one axis reduce
- Output rank = input rank - 1

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoAdd printing info for filled memory in model_parser (#5028)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 19 Apr 2019 08:38:44 +0000 (17:38 +0900)]
Add printing info for filled memory in model_parser (#5028)

* Add printing info for filled memory in model_parser

Add printing info for filled memory such as weight in model_parser

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* fix failed format-check

5 years agoUse POSITION_INDEPENDENT_CODE property for tflite build (#5026)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 19 Apr 2019 05:40:57 +0000 (14:40 +0900)]
Use POSITION_INDEPENDENT_CODE property for tflite build (#5026)

Use cmake POSITION_INDEPENDENT_CODE property instead of setting gcc -fPIC compile option directly

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Apply code for merging node into subgraph to Graph (#5019)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 18 Apr 2019 07:01:17 +0000 (16:01 +0900)]
[neurun] Apply code for merging node into subgraph to Graph (#5019)

Apply code for merging node into subgraph to Graph instead of 1 subrgaph
1 node code

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoRemove OBS_BUILD cmake define in Makefile (#5017)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Apr 2019 05:36:19 +0000 (14:36 +0900)]
Remove OBS_BUILD cmake define in Makefile (#5017)

Remove OBS_BUILD cmake define in cmake configure because OBS_BUILD is not used in cmake any more

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoPrepare operand stack in interpreter (#5015)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Apr 2019 04:39:15 +0000 (13:39 +0900)]
Prepare operand stack in interpreter (#5015)

Prepare operand stack in interpreter to save prepared operands to use

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Apply SubgraphContext(1 subgraph 1 node) (#5014)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 18 Apr 2019 02:02:42 +0000 (11:02 +0900)]
[neurun] Apply SubgraphContext(1 subgraph 1 node) (#5014)

Apply SubgraphContext(1 subgraph 1 node) to Graph, Linear, Compiler and
{Dataflow|Linear}Executor

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoFix CMake to use STATUS for message (#5016)
박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 18 Apr 2019 00:57:48 +0000 (09:57 +0900)]
Fix CMake to use STATUS for message (#5016)

This will fix message() to use STATUS instead if "--" string

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
5 years agoInterpreter ITensor Inherit backend ITensor (#5005)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Apr 2019 07:15:33 +0000 (16:15 +0900)]
Interpreter ITensor Inherit backend ITensor (#5005)

Interpreter ITensor Inherit backend ITensor for more compatibility with other backends

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Rename operation::Node as Operation (#5013)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 17 Apr 2019 06:16:19 +0000 (15:16 +0900)]
[neurun] Rename operation::Node as Operation (#5013)

This is for reducing namespace operation.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoFix a couple of noticeable clang static analyzer warnings (#4981)
Aleksei Grebenkin/AI Ecosystem Lab /SRR/Engineer/삼성전자 [Wed, 17 Apr 2019 04:01:58 +0000 (07:01 +0300)]
Fix a couple of noticeable clang static analyzer warnings (#4981)

* Fix a couple of noticeable clang static analyzer warnings

Fixed passing vector by value, lack of default switch case, dead code

Signed-off-by: Alexey Grebenkin <a.grebenkin@samsung.com>
* Correcting for PR comments

* Correcting for more PR comments

5 years agoFix define in cker header file (#5007)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Apr 2019 01:12:48 +0000 (10:12 +0900)]
Fix define in cker header file (#5007)

Fix define __NNFW_CKER_CONCATENATION_H_ => __NNFW_CKER_CONCATENATION_H__
Fix define __NNFW_CKER_FXIED_POINT_H__ => __NNFW_CKER_GEMMLOWP_FIXED_POINT_H__

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix OperationIndex build break from Subgraph (#5012)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 17 Apr 2019 01:10:19 +0000 (10:10 +0900)]
Fix OperationIndex build break from Subgraph (#5012)

It fixes build-break caused by Subgraph's use of model::operation::Index,
which is renamed to model::OperationIndex.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoIntroduce interpreter class (#5006)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Apr 2019 00:14:19 +0000 (09:14 +0900)]
Introduce interpreter class (#5006)

* Introduce interpreter class

Introduce interpreter class: run on assigned ExecEnv

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix define for header

5 years ago[neurun] Introduce SubgraphContext class (#4995)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 16 Apr 2019 08:28:08 +0000 (17:28 +0900)]
[neurun] Introduce SubgraphContext class (#4995)

This class would be used as a context class which has Subgraphs instead
of SubgraphSet in Graph

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoModify cpu average pool kernel (#5004)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Apr 2019 06:52:28 +0000 (15:52 +0900)]
Modify cpu average pool kernel (#5004)

Move loop invariant codes
Calculate filter count at once and compare

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Rename operation::Index as OperationIndex (#5002)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 16 Apr 2019 02:28:08 +0000 (11:28 +0900)]
[neurun] Rename operation::Index as OperationIndex (#5002)

This is for reducing namespace operation.

Part of #4985

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove axis conversion in libs/ARMComputeEx (#4992)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Apr 2019 23:44:31 +0000 (08:44 +0900)]
Remove axis conversion in libs/ARMComputeEx (#4992)

Remove axis conversion in libs/ARMComputeEx because conversion should done before configuration
Fix axis conversion in pack/unpack acl-cl extend  kernel

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove gemmlowp code in cker (#4998)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Apr 2019 23:44:19 +0000 (08:44 +0900)]
Move gemmlowp code in cker (#4998)

Move gemmlowp code in cker into cker/gemmlowp
Add namespace for gemmlowp

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Change from SubgraphSet to SubgraphSequence (#4996)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 15 Apr 2019 23:44:08 +0000 (08:44 +0900)]
[neurun] Change from SubgraphSet to SubgraphSequence (#4996)

Change the name SubgraphSet. Actually SubgraphSet has elements in order
so that SubgraphSequence is proper name.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoRemove OpenCLEx codes (#4993)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Apr 2019 07:47:47 +0000 (16:47 +0900)]
Remove OpenCLEx codes (#4993)

- CLKernelLibraryEx includes OpenCL.h, not OpenCLEx.h
- There is no problem now

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoInterpreter use info structure in model (#4988)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Apr 2019 03:55:03 +0000 (12:55 +0900)]
Interpreter use info structure in model (#4988)

Instead of using interpreter's own structure, use tensor info structure in model
Move comment and copy constructor

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove script call in acl test (#4991)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Apr 2019 03:49:13 +0000 (12:49 +0900)]
Remove script call in acl test (#4991)

Remove neurun acl-neon test script call in acl-cl test script
It will be called directly on CI infra.

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove install backend kernel (#4979)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Apr 2019 08:02:19 +0000 (17:02 +0900)]
Remove install backend kernel (#4979)

Remove install static kernel library because they are linked at each backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove backend cmake setting into each backend (#4976)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Apr 2019 07:36:05 +0000 (16:36 +0900)]
Move backend cmake setting into each backend (#4976)

Move backend cmake variable setting into each backend
Remove target check in backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoAdd more coverage test (#4977)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Apr 2019 05:38:16 +0000 (14:38 +0900)]
Add more coverage test (#4977)

* Add more coverage test

Call scripts for each backend test
Add acl_neon backend kernel test
Add dataflow executor test

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix script name typo

5 years ago[neurun] add ExecManager::{setInput,setOutput} unit tests (#4972)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 11 Apr 2019 04:12:05 +0000 (13:12 +0900)]
[neurun] add ExecManager::{setInput,setOutput} unit tests (#4972)

Add unittest for specifying unspecified dimension with setInput and setOutput.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoRemove cpu backend build dependency with tflite (#4975)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Apr 2019 03:22:56 +0000 (12:22 +0900)]
Remove cpu backend build dependency with tflite (#4975)

Remove header path and linking dependency with tflite in cpu backend build cmake

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[ubun] Introduce Softmax microbenchmark (#4974)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 11 Apr 2019 01:23:37 +0000 (10:23 +0900)]
[ubun] Introduce Softmax microbenchmark (#4974)

With this commit, ubun now includes a Softmax microbenchmark based on
cker library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[neurun] Remove type and shape argument from Executor's setInput and setOutput (...
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Apr 2019 08:04:14 +0000 (17:04 +0900)]
[neurun] Remove type and shape argument from Executor's setInput and setOutput (#4957)

IExecutor, ExecutorBase, ExecManager will have setInput and setOutput that don't require
`type` and `shape` parameters. In this case, `type` and `shape` from model will be used.

ExecManager test is also modified to use newly introduced setInput and setOutput.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoRemove unused util function in cpu backend (#4971)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Apr 2019 07:21:19 +0000 (16:21 +0900)]
Remove unused util function in cpu backend (#4971)

Remove unused util function in cpu backend: type conversion to tflite internal type

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Framework test with acl_neon backend (#4961)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 10 Apr 2019 06:11:35 +0000 (15:11 +0900)]
[neurun] Framework test with acl_neon backend (#4961)

Enable framework test with acl_neon backend. This is a workaround since
adding another job in CI has a lot more to do.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove tflite macro and type in cker library (#4966)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Apr 2019 05:41:06 +0000 (14:41 +0900)]
Remove tflite macro and type in cker library (#4966)

Remove tflite macro TFLITE_DCHECK_XX in cker library
Use uint8_t instead of tlfite type uint8

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce cpu quant8 softmax kernel (#4953)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Apr 2019 05:40:53 +0000 (14:40 +0900)]
Introduce cpu quant8 softmax kernel (#4953)

Introduce cpu quantized int8 softmax kernel from tflite and gemmlowp
Use kernel in neurun cpu backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix copyright (#4967)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Apr 2019 04:34:10 +0000 (13:34 +0900)]
Fix copyright (#4967)

Fix copyright using introduced script
Add copyright in libs/ARMComputeEx/src/runtime/misc/functions/Utils.cpp,  runtimes/neurun/backend/acl_neon/operand/INETensor.cc
Fix libs/ARMComputeEx/arm_compute/runtime/misc/functions/Utils.h year based on file created date

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[NNFW] optimized Conv on CPU (#4964)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 10 Apr 2019 03:54:57 +0000 (06:54 +0300)]
[NNFW] optimized Conv on CPU (#4964)

Moved condition and offset calculation out of the innermost loop in cpu
convolution kernel. Achieved 2+x speed up on mobilenet on neurun.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years agoMove rootfs setting into cmake/buildtool/cross (#4958)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Apr 2019 03:20:22 +0000 (12:20 +0900)]
Move rootfs setting into cmake/buildtool/cross (#4958)

Move rootfs setting and check correctness into cmake/buildtool/cross
Remove different variable name for each architecture rootfs

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoUpdate HowToUseDockerImage.md (#4445)
Sergei Chicherin/Vision, Learning and Telepresence Lab /SRR/Staff Engineer/삼성전자 [Tue, 9 Apr 2019 23:07:38 +0000 (02:07 +0300)]
Update HowToUseDockerImage.md (#4445)

mistype : missed / before etc

Signed-off-by: Sergei Chicherin <s.chicherin@samsung.com>
5 years agoFix copyright checker (#4954)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Apr 2019 11:13:01 +0000 (20:13 +0900)]
Fix copyright checker (#4954)

Rename copyright check script
Change mode: remove execution and allow only source (by nnfw command)
Exit with exit code when invalid result

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIgnore directories generated by coverage scripts (#4960)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Apr 2019 11:11:15 +0000 (20:11 +0900)]
Ignore directories generated by coverage scripts (#4960)

Ignore directories generated by coverage scripts
- coverage test run: /gcov
- coverage analysis result: /coverage

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Remove redundant virtual from override functions (#4956)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 9 Apr 2019 09:31:12 +0000 (18:31 +0900)]
[neurun] Remove redundant virtual from override functions (#4956)

I removed `virtual` when I am sure it is our code.
Otherwise, I did not removed `virtual`.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoUpdate usage example of unittest script (#4949)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 9 Apr 2019 05:17:52 +0000 (14:17 +0900)]
Update usage example of unittest script (#4949)

Previously usage example for unittest script refers not appropriate
directory. This commit updates the directory for running example.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years agoUse variable for nnapi unittest install (#4951)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 9 Apr 2019 04:20:42 +0000 (13:20 +0900)]
Use variable for nnapi unittest install (#4951)

For consistency and code maintainability, better to use variable rather
than target name itself.

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years agoAdd copyright checker for newly added files (#4214)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 9 Apr 2019 04:11:19 +0000 (07:11 +0300)]
Add copyright checker for newly added files (#4214)

* Add copyright checker for newly added files

Add copyright checker for newly added files

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Update command that lists newly added files

Update command that lists newly added files

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Check just listed directories

Check just listed directories by skipping exluded ones

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Check all files, that were added this year

This prevents from updating copyright year of a file, that were added
with correct copyright, but later on somehow was updated incorrectly.
Also, this addresses feedbacks of @hseok82-oh

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Fix Copyright grep command

Fix Copyright grep command

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Move checker to seperate file and change checking method

Also fixed files, that have wrong copyright
Checks just `.h, .hpp, .cc, .cpp, .cl` files
Check each files of subdir, that were added to git, or moved from other
directory in current year. If a file is added (not merged into master)
in this year and its copyright has incorrect format or copyright year
isn't current year, then print it.

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Rebase

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Remove unused pushd and popd

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Revert fixed copyrights

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoCorrect architecture in skip file (#4950)
박천교/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 9 Apr 2019 04:02:30 +0000 (13:02 +0900)]
Correct architecture in skip file (#4950)

This commit corrects architecture in x86_64 skip file corresponds to
its file name and recommended usage

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
5 years agoRemove deprecated header include in neurun cpu kernel (#4942)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Apr 2019 10:46:26 +0000 (19:46 +0900)]
Remove deprecated header include in neurun cpu kernel (#4942)

Remove deprecated header include in neurun cpu fully connected kernel

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>