platform/core/ml/nnfw.git
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>
5 years ago[neurun] Garden and remove redundunt code from ExecManager Test (#4930)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 4 Apr 2019 22:05:38 +0000 (07:05 +0900)]
[neurun] Garden and remove redundunt code from ExecManager Test (#4930)

- Merge duplicated calls into one
  model->operands.at(operand_activation).usage(Usage::CONSTANT);
  model->operands.at(operand_activation).usage(operand::Usage::CONSTANT);

- Group the related statements by operand and operator

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[neurun] Eliminate the concept of scalar type (#4929)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Apr 2019 09:49:25 +0000 (18:49 +0900)]
[neurun] Eliminate the concept of scalar type (#4929)

This commit eliminate the concept of scalar type.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[PACL] Fix wrong setting of for SpaceToBatch in NHWC (#4366)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Apr 2019 09:21:17 +0000 (18:21 +0900)]
[PACL] Fix wrong setting of for SpaceToBatch in NHWC (#4366)

This commit fixes wrong setting of block_size and padding size for SpaceToBatch in NHWC.
  - Change setting of them to only support 4-dimensional input and the 2-dimensional spatial shape.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[neurun] Fix a typo (#4931)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Apr 2019 07:14:29 +0000 (16:14 +0900)]
[neurun] Fix a typo (#4931)

This commit fixes a type.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[neurun] Fix wrong output operand in ExecManager test (#4927)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 4 Apr 2019 06:14:09 +0000 (15:14 +0900)]
[neurun] Fix wrong output operand in ExecManager test (#4927)

Fix wrong added output operand. (operand_rhs to operand_result)

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[neurun] Enable Test DataflowExecutor (#4924)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Apr 2019 04:54:59 +0000 (13:54 +0900)]
[neurun] Enable Test DataflowExecutor (#4924)

Enable Test DataflowExecutor for both acl_cl and cpu.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Simpify TypeInfo constructor using default parameters (#4926)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 4 Apr 2019 04:20:01 +0000 (13:20 +0900)]
[neurun] Simpify TypeInfo constructor using default parameters (#4926)

`scale` and `offset` are used only in case of `TENSOR_QUANT8_ASYMM`.
For most cases, we don't need the values at all.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoFix some errors from Clang compiler (#4915)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 4 Apr 2019 01:33:11 +0000 (04:33 +0300)]
Fix some errors from Clang compiler (#4915)

* Fix some errors from Clang compiler

* Fix abs on unsigned char, fix hidden overloaded virtual function, rename predeclared class on struct, remove unused private variable, remove std::move when he called in return statement

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Fix unused variables, struct/class mismatching

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Fix extern C++, unused variables, explicit overriding, remove std::move in return statement

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Fix file for format-check and extern C

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Fix library information removing from neurun

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years agoFix x64-push-builder-tester #4922 (#4923)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 3 Apr 2019 10:08:21 +0000 (19:08 +0900)]
Fix x64-push-builder-tester #4922 (#4923)

This commit fixes x64-push-builder-tester #4922.
  - Add GREATER_EQUAL and LESS tests to skiplist of x64.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoSupport GREATER_EQUAL and LESS (#4900)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 3 Apr 2019 08:27:58 +0000 (17:27 +0900)]
Support GREATER_EQUAL and LESS (#4900)

* Append nnapi tests of GREATER_EQUAL and LESS

This commit appends nnapi tests of of GREATER_EQUAL and LESS.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* [neurun] Support GREATER_EQUAL and LESS

This commit supports GREATER_EQUAL and LESS operations.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRemove deprecated cmake variables (#4913)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Apr 2019 06:49:29 +0000 (15:49 +0900)]
Remove deprecated cmake variables (#4913)

Remove deprecated cmake variables:  TARGET_IS_ARMARCH, BUILD_IS_NATIVE
Update comment about variable setting

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Allow integer list for neurun::operand::Shape (#4909)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 3 Apr 2019 04:38:58 +0000 (13:38 +0900)]
[neurun] Allow integer list for neurun::operand::Shape (#4909)

This patch enables initilization of neurun::operand::Shape with list.

Before:
```
    operand::Shape shape{4};
    shape.dim(0) = 1;
    shape.dim(1) = 2;
    shape.dim(2) = 2;
    shape.dim(3) = 1;
```

After:
```
    operand::Shape shape{1, 2, 2, 1};
```

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoDivide by zero check in average pool (#4916)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Apr 2019 00:18:13 +0000 (09:18 +0900)]
Divide by zero check in average pool (#4916)

Change count as int type
Check divide by zero in average pool calculation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove unused header in cpu backend ReshapeLayer (#4917)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Apr 2019 06:47:52 +0000 (15:47 +0900)]
Remove unused header in cpu backend ReshapeLayer (#4917)

Remove unused header in cpu backend ReshapeLayer to remove dependency with tensorflow lite

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce cpu quant8 fully connected kernel (#4918)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Apr 2019 06:47:32 +0000 (15:47 +0900)]
Introduce cpu quant8 fully connected kernel (#4918)

Introduce cpu quantized int8 fully connected kernel from tflite
Use kernel in neurun cpu backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix coverage build fail on gbs (#4912)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 10:22:25 +0000 (19:22 +0900)]
Fix coverage build fail on gbs (#4912)

On gbs, CMAKE_C_FLAGS_DEBUG seems to apply -O0 flag on coverage build.
This patch cancels -O0 flag in the case of coverage build.
Note that arm-ubuntu build does not show this kinds of error.

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years agoIntroduce float softrmax cpu kernel (#4911)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 10:09:05 +0000 (19:09 +0900)]
Introduce float softrmax cpu kernel (#4911)

* Introduce float softrmax cpu kernel

Introduce float softmax cpu kernel from tflite
Use kernel in neurun cpu backend

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

5 years agoIntroduce cpu quant8 convolution kernel (#4910)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 10:08:26 +0000 (19:08 +0900)]
Introduce cpu quant8 convolution kernel (#4910)

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

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce float fully connected kernel (#4894)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 09:30:59 +0000 (18:30 +0900)]
Introduce float fully connected kernel (#4894)

Introduce float fully connected kernel from tflite
Use kernel in neurun cpu backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoInstall unzip in docker image (#4908)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 07:33:38 +0000 (16:33 +0900)]
Install unzip in docker image (#4908)

Install unzip in docker image
It will be used for x86-64 test

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce cpu float depthwise convolution kernel and backend (#4906)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 06:56:00 +0000 (15:56 +0900)]
Introduce cpu float depthwise convolution kernel and backend (#4906)

Introduce cpu float depthwise convolution kernel from tflite
Implement neurun cpu backend for depthwise convolution

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoPlatform specific cmake option setting (#4898)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 05:31:19 +0000 (14:31 +0900)]
Platform specific cmake option setting (#4898)

Make platform specific cmake option setting files
Platform specific setting have higher priority than common setting

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoAdd assertion for cpu backend shape conversion (#4904)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 02:08:47 +0000 (11:08 +0900)]
Add assertion for cpu backend shape conversion (#4904)

CPU backend assume that neurun's internal shape is always same or less than 4.
It is true on current neurun implementation, but it may change.
So add assertion to check this.

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix cmake acl module check (#4905)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Apr 2019 01:42:50 +0000 (10:42 +0900)]
Fix cmake acl module check (#4905)

Use QUIET to download source code in acl module check,
and return false when fail to get source code

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Add validation of ComparisonNode (#4901)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 1 Apr 2019 00:58:51 +0000 (09:58 +0900)]
[neurun] Add validation of ComparisonNode (#4901)

This commit adds validation of ComparisonNode.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoFix wrong nnapi tests path in Doxyfile's exclude (#4899)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 1 Apr 2019 00:57:44 +0000 (09:57 +0900)]
Fix wrong nnapi tests path in Doxyfile's exclude (#4899)

Wrong nnapi tests location is fixed in Doxyfile exclude.
It causes "input buffer overflow, can't enlarge buffer
because scanner uses REJECT" error.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>