platform/core/ml/nnfw.git
6 years ago[NNOP] Add more unit tests for FC (#703)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 05:35:23 +0000 (14:35 +0900)]
[NNOP] Add more unit tests for FC (#703)

This commit inserts two additional unittests for FC
- conv_fc
- inceptionv3

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years ago[Pure ACL Runtime] Set Stride before setting padding (#700)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 05:35:07 +0000 (14:35 +0900)]
[Pure ACL Runtime] Set Stride before setting padding (#700)

ANEURALNETWORKS_PADDING_SAME algorithm uses stride values when computing
padding values, but Conv2D implementation has a bug that compute padding
size using uninitialized stride values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoTizen gbs build TestGenerated from Android NN test (#678)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 04:29:44 +0000 (13:29 +0900)]
Tizen gbs build TestGenerated from Android NN test (#678)

Tizen gbs uses g++-6.2, which had been applied with most g++-6.3.
In case of tizen gbs build, g++-6.2 would be ok.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agog++-6.3 can build TestGenerated from Android NN test (#676)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 04:29:11 +0000 (13:29 +0900)]
g++-6.3 can build TestGenerated from Android NN test (#676)

Currently g++ 6.3 is not permitted to compile TestGenerated.
The condition is fixed so that g++ 6.3 can try to build.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years ago[NNOP] Process various dimensions of weights and ouput for FC (#687)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 04:27:35 +0000 (13:27 +0900)]
[NNOP] Process various dimensions of weights and ouput for FC (#687)

This commit improves processing various dimensions of weights and output for
FC. The fully connected layer's weight and output can have various
dimensions. There can be more dimensions to be supported, but for now,
we support as below:
- 4D or 2D for weights
- 4D or 1D for outputs

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoAdd Softmax in NEON (#691)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 04:15:43 +0000 (13:15 +0900)]
Add Softmax in NEON (#691)

This will add Softmax operator with ACL/NEON backend

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoSubstitue run_tests.sh to test_driver.sh for make check (#669)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 16 Apr 2018 03:51:12 +0000 (12:51 +0900)]
Substitue run_tests.sh to test_driver.sh for make check (#669)

Substitue run_tests.sh to test_driver.sh for make check.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years ago[Pure ACL Runtime] Support 'Concat' operation (#693)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 03:35:59 +0000 (12:35 +0900)]
[Pure ACL Runtime] Support 'Concat' operation (#693)

This commit introduces partial support on ANEURALNETWORKS_CONCATENATION
operation.

Only feature map concat over depth axis is supported currently.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoModel parser: new operators by toco (#684)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 02:27:29 +0000 (11:27 +0900)]
Model parser: new operators by toco (#684)

Parse new operators generated by toco in tensroflow 1.7

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoFix softmax xls formula (#688)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 02:16:59 +0000 (11:16 +0900)]
Fix softmax xls formula (#688)

This will fix and simplify softmax formula in xls
to e ^ x / sum(e ^ x)

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoSeparate Conv2D neon implementation (#686)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 01:58:25 +0000 (10:58 +0900)]
Separate Conv2D neon implementation (#686)

This will move Conv2D neon implementation to separate module
- also with the test

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoUse hybrid epsilon comparison on test (#685)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 01:30:14 +0000 (10:30 +0900)]
Use hybrid epsilon comparison on test (#685)

This commit revises random testing framework to use hybrid epsilon
comparision (check realtive diff only when absolute diff is larger than
0.001).

This commit also revises testing framework to show some useful
information for analyizing failures.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUpdate cross build script (#675)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 01:30:03 +0000 (10:30 +0900)]
Update cross build script (#675)

- Find common.sh correctly using SCRIPT_ROOT

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years ago[Pure ACL Rumtime] Support AvgPool2D op execution (#683)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 01:14:34 +0000 (10:14 +0900)]
[Pure ACL Rumtime] Support AvgPool2D op execution (#683)

This commit implements AvgPool2D planner, which allows us to run
'avgpool_test1.tflite' testcase with Pure ACL NN runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[Pure ACL Runtime] Set Padding for Conv2D op (#681)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 01:14:01 +0000 (10:14 +0900)]
[Pure ACL Runtime] Set Padding for Conv2D op (#681)

This commit revises Conv2D op planner to set padding similarly as in
MaxPool2D op.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[NNAPI Random Tests] Add 'reshape_1' test (#679)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 01:09:38 +0000 (10:09 +0900)]
[NNAPI Random Tests] Add 'reshape_1' test (#679)

* [NNAPI Random Tests] Add 'reshape_1' test

This commit adds 'reshape_1' test which allows us to test reshape
operation with random data.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unnecessary blank

6 years agoRemove Flag and use global util IntAccessor (#682)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 00:57:49 +0000 (09:57 +0900)]
Remove Flag and use global util IntAccessor (#682)

This will remove local Flag and use global IntAccessor to check CONV2D_VERBOSE flag

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[NNOP unittest] Use TensorWrapper for FC (#651)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 00:57:19 +0000 (09:57 +0900)]
[NNOP unittest] Use TensorWrapper for FC (#651)

Use TensorWrapper for FC unit tests instead of directly access primitives.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoMove unused code for Conv2D (#677)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Apr 2018 00:15:46 +0000 (09:15 +0900)]
Move unused code for Conv2D (#677)

This will remove and move unused code from Conv2D using ACL kernel

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[Pure ACL] Record AvgPool2D operation in model (#671)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 00:14:39 +0000 (09:14 +0900)]
[Pure ACL] Record AvgPool2D operation in model (#671)

This commit allows pure ACL NN runtime to record AvgPool2D operation in its model.

Note that compilation and execution is not supported, yet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[Pure ACL] Support valid padding for MaxPool2D (#670)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 16 Apr 2018 00:13:55 +0000 (09:13 +0900)]
[Pure ACL] Support valid padding for MaxPool2D (#670)

* [Pure ACL] Support valid padding for MaxPool2D

This commit supports valid padding for MaxPool2D.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unnecessary blank line

6 years agoUpdate document regarding docker image (#635)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Sun, 15 Apr 2018 23:49:44 +0000 (08:49 +0900)]
Update document regarding docker image (#635)

- Add link to HowToUseDockerImage.md in README.md
- Update docker image version in HowTo document

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years ago[NNAPI Random Test] Add 'concat_1' case (#674)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Sun, 15 Apr 2018 23:43:31 +0000 (08:43 +0900)]
[NNAPI Random Test] Add 'concat_1' case (#674)

This commit adds 'concat_1' test which allows us to test the
implementation of 'concat' operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix comment in extract.py (#672)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Sun, 15 Apr 2018 23:27:03 +0000 (08:27 +0900)]
Fix comment in extract.py (#672)

This commit fixes typo in extract.py

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoIntroduce print_op.py (#673)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 12:00:40 +0000 (21:00 +0900)]
Introduce print_op.py (#673)

`print_op.py` prints operations of a TF model in order
with input/output shapes.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoTemporary separate support class from Conv2D (#665)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 13 Apr 2018 08:13:10 +0000 (17:13 +0900)]
Temporary separate support class from Conv2D (#665)

This will extract supporting class in Conv2D module to temporary file
- To separate NEON convFloat32() to it's own module

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoExtract implementations into separate files (#668)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 07:03:16 +0000 (16:03 +0900)]
Extract implementations into separate files (#668)

This commit extracts several implementations in Model.h/Model.cc into
separate files (to make it easy to read code).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAllow padding type configuration for 'max_pool_1' (#664)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 06:18:06 +0000 (15:18 +0900)]
Allow padding type configuration for 'max_pool_1' (#664)

This commit allows users to configure padding type for 'max_pool_1'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[Pure ACL Runtime] Support ReLU activation for Conv2D (#653)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 06:09:18 +0000 (15:09 +0900)]
[Pure ACL Runtime] Support ReLU activation for Conv2D (#653)

This commit introduces ReLU activation support for Conv2D operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoApply nnfw_kernel to 6 kernels used by inception v3 (#636)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 05:26:08 +0000 (14:26 +0900)]
Apply nnfw_kernel to 6 kernels used by inception v3 (#636)

* Apply nnfw_kernel to 6 kernels used by inception v3

- Apply nnfw_kernel to 6 kernels used by inception v3
- Also introduce NNFWKernels.lst file

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* Refine code to minimize diff

- Refine code to minimize diff

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years ago[NNOP] Use CLUniqueTensor for FC (#652)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 05:22:59 +0000 (14:22 +0900)]
[NNOP] Use CLUniqueTensor for FC (#652)

This commit uses CLUniqueTensor for fullyConnectedFloat32().

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoAdd more tests of Softmax kernel on ACL (#647)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 13 Apr 2018 04:29:33 +0000 (13:29 +0900)]
Add more tests of Softmax kernel on ACL (#647)

* Add more tests of Softmax kernel on ACL

This will add non uniform input for Softmax
- ss there is diff in float comparison, compareData() is changed to use epsilon_equal()
- and epsilon_equal() had compilation problem in Ubuntu 16.04, some headers was added

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* fix for tizen build

* use c++ header

6 years agoAdd tizen gbs build script (#625)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 04:14:32 +0000 (13:14 +0900)]
Add tizen gbs build script (#625)

To run, build docker image of https://github.sec.samsung.net/chunseok-lee/gbs_docker

6 years agoUpdate Android NN runtime TestGenerated (#645)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 13 Apr 2018 04:11:00 +0000 (13:11 +0900)]
Update Android NN runtime TestGenerated (#645)

- Related Issue: #459, #611
- Base version of Android NN Test: efd22b6
Merge "Make convFloat32 and convQuant8 not segfault when asking too much memory."

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agoEnable NN Runtime unit tests in CI (#627)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 13 Apr 2018 04:09:58 +0000 (13:09 +0900)]
Enable NN Runtime unit tests in CI (#627)

This commit enabls NN Runtime unit test in CI

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years ago[Pure ACL Runtime] Support weight initialization (#649)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 04:03:00 +0000 (13:03 +0900)]
[Pure ACL Runtime] Support weight initialization (#649)

This commit introduces basic weight initialization infrastructure for
Conv2D operation support.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[NNOP] Introduce various init functions in TensorWrapper (#644)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 04:01:50 +0000 (13:01 +0900)]
[NNOP] Introduce various init functions in TensorWrapper (#644)

This commit introduces various init functions in TensorWrapper.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years ago[NNAPI Random Test] Introduce 'avg_pool_1' (#646)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 03:49:14 +0000 (12:49 +0900)]
[NNAPI Random Test] Introduce 'avg_pool_1' (#646)

This commit introduces 'avg_pool_1' which allows us to test the
implementation of 'AvgPool2D' operation with random data.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[NNAPI random test] Introduce 'max_poool_1' (#643)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 01:40:42 +0000 (10:40 +0900)]
[NNAPI random test] Introduce 'max_poool_1' (#643)

This commit introduces 'max_pool_1' random test tool for testing
the implementation of MaxPool2D operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[NNOP] Introduce MatrixWeightAccessor and VectorOutputAccessor (#637)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 01:34:51 +0000 (10:34 +0900)]
[NNOP] Introduce MatrixWeightAccessor and VectorOutputAccessor (#637)

This commit introduces two classes:
- MatrixWeightAccessor
- VectorOutputAccessor

Those two classes will be used in fullyConnectedFloat32().

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoAdd Softmax kernel on ACL (#642)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 13 Apr 2018 01:31:28 +0000 (10:31 +0900)]
Add Softmax kernel on ACL (#642)

This will add Softmax kernel on ACL and a simple test

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[NNOP] support vector and matrix in fromNNShape() (#640)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 01:23:02 +0000 (10:23 +0900)]
[NNOP] support vector and matrix in fromNNShape() (#640)

This commit adds functionality to support converting 1D and 2D tensors
in fromNNShape()

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoAdd Dockerfile_tizen (#634)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 00:42:29 +0000 (09:42 +0900)]
Add Dockerfile_tizen (#634)

- Add Dockerfile_tizen which support gbs build of Tizen

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years ago[Pure ACL Runtime] Support MaxPool2D op execution (#639)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 13 Apr 2018 00:42:18 +0000 (09:42 +0900)]
[Pure ACL Runtime] Support MaxPool2D op execution (#639)

This commit implements MaxPool2D operation execution for experimental
pure ACL NN runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoRemove the original constructor of StepExecutor and parameters (#568)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 13 Apr 2018 00:33:19 +0000 (09:33 +0900)]
Remove the original constructor of StepExecutor and parameters (#568)

* Remove the original constructor of StepExecutor and parameters

This commit removes the original constructor of StepExecutor, since we use only 2 parameter in our framework.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Remove blank line

6 years agoIntroduce RandomTestRunner (#633)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 22:17:36 +0000 (07:17 +0900)]
Introduce RandomTestRunner (#633)

This commit introduces RandomTestRunner, and revises all the NNAPI tests
based on random number generator to share the same framework.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[Pure ACL Runtime] Introduce logging infrastructure (#624)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 22:11:21 +0000 (07:11 +0900)]
[Pure ACL Runtime] Introduce logging infrastructure (#624)

This commit introduces basic logging infrastructure for experiemental
pure ACL NN runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoadd other test cases in pooling (#631)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 12 Apr 2018 12:56:21 +0000 (21:56 +0900)]
add other test cases in pooling (#631)

6 years agoExtract nnfw_kernel selection into a macro (#626)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 12:01:26 +0000 (21:01 +0900)]
Extract nnfw_kernel selection into a macro (#626)

- Extract nnfw_kernel selection into a macro

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoFix NNAPI implementation for logging (#630)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 11:50:48 +0000 (20:50 +0900)]
Fix NNAPI implementation for logging (#630)

ANeuralNetworksExecution_setInput and ANeuralNetworksExecution_setOutput
are incorrectly defined currently.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoApply tap for test framework (#618)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 12 Apr 2018 11:14:00 +0000 (20:14 +0900)]
Apply tap for test framework (#618)

Apply tap for test framework. The outputs .tap file is going
to be used by jenkins plugin for reporting test results.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoFix Tizen cross-build break (#628)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 10:03:38 +0000 (19:03 +0900)]
Fix Tizen cross-build break (#628)

This commit inserts explicit type instantiation on abs method to fix
Tizen cross-build break.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd handling options to test_driver.sh (#622)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 12 Apr 2018 08:43:49 +0000 (17:43 +0900)]
Add handling options to test_driver.sh (#622)

Enables test_driver.sh to handle options properly. Now test_driver.sh
can run only for unittest, frameworktest or verification.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoIntroduce TensorWrapper for unittesting (#619)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 08:03:17 +0000 (17:03 +0900)]
Introduce TensorWrapper for unittesting (#619)

This commit introduces TensorWrapper for unittesting.
This class can be used various test cases in `src/kernel`.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoInitial version of ACL pooling with NEON (#621)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 12 Apr 2018 07:47:07 +0000 (16:47 +0900)]
Initial version of ACL pooling with NEON  (#621)

* remove unnecessary blanks

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* Initial version of ACL pooling with NEON

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* add pooing with NEON in cmake

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* remove blanks

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
6 years ago[Pure ACL NN Runtime] Add Source/Sink (#615)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 04:55:06 +0000 (13:55 +0900)]
[Pure ACL NN Runtime] Add Source/Sink (#615)

This commit introduces the concept of Source and Sink which sets inputs
before execution, and gets outputs after execution.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUse CPU kernel as a default kernel (#614)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 04:52:26 +0000 (13:52 +0900)]
Use CPU kernel as a default kernel (#614)

* Use CPU kernel as a default kernel

- Use CPU kernel as a default kernel

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* Apply review feedback

- restrict scope of it variable

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years ago[Pure ACL Runtime] Set Conv2D strides (#608)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 04:50:53 +0000 (13:50 +0900)]
[Pure ACL Runtime] Set Conv2D strides (#608)

This commit set Conv2D stride parameter with values read from operands.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd missed TestGenerated.cpp in Android NN tests (#616)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 12 Apr 2018 04:48:29 +0000 (13:48 +0900)]
Add missed TestGenerated.cpp in Android NN tests (#616)

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years ago[NNOP]Introduce average pooling (#610)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 12 Apr 2018 04:31:53 +0000 (13:31 +0900)]
[NNOP]Introduce average pooling (#610)

6 years agoClean include section of Callbacks.h (#600)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 12 Apr 2018 02:50:53 +0000 (11:50 +0900)]
Clean include section of Callbacks.h (#600)

This commit cleans include section of Callbacks.h

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoInitial version of ACL Conv2D with NEON (#602)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 12 Apr 2018 02:21:17 +0000 (11:21 +0900)]
Initial version of ACL Conv2D with NEON (#602)

This will add Conv2D with NEON backend.
- implementation will be moved to another module after common codes are moved

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[Pure ACL] Allow model to include MaxPool2D op (#606)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 02:03:18 +0000 (11:03 +0900)]
[Pure ACL] Allow model to include MaxPool2D op (#606)

This commit revises Pure ACL NN Runtime to include MaxPool2D operation
while constructing a model.

Note that execution is not supported, yet.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUse correct ANeuralNetworksExecution_setOutput signature (#605)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 02:03:12 +0000 (11:03 +0900)]
Use correct ANeuralNetworksExecution_setOutput signature (#605)

ANeuralNetworksExecution_setOutput should take void * (not const void *)
according to NNAPI specification.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[NNOP] The first version of NEON FC layer (#573)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 02:03:06 +0000 (11:03 +0900)]
[NNOP] The first version of NEON FC layer (#573)

This commit introduces the first version of NEON FC Layer.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoIntroduce nnfw_support_nnapi (#603)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 01:17:23 +0000 (10:17 +0900)]
Introduce nnfw_support_nnapi (#603)

This commit introduces 'nnfw_support_nnapi' library which provides
various helpers for implementing NNAPI.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoExtract CLUniqueTensor to another file (#578)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 00:44:49 +0000 (09:44 +0900)]
Extract CLUniqueTensor to another file (#578)

This commit extracts CLUniqueTensor to another file
in order to use this class in other OpenCL NN Layers.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years ago[Pure ACL NN Runtime] Implement basic compilation (#596)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 00:14:05 +0000 (09:14 +0900)]
[Pure ACL NN Runtime] Implement basic compilation (#596)

This commit implements basic compilation phase for (experiemntal) pure
ACL NN runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFIX: build fail due to fromNNShape() (#599)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 00:07:50 +0000 (09:07 +0900)]
FIX: build fail due to fromNNShape() (#599)

Build fail due to fromNNShape() is moved to namespace nnfw::kernel::acl::util.
This commit fixes this fail by chainging `fromNNShape()` to
`util::fromNNShape()`.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoImplement naive feature map and kernel update (#585)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 12 Apr 2018 00:07:23 +0000 (09:07 +0900)]
Implement naive feature map and kernel update (#585)

* Implement naive feature map and kernel update

This commit implement unoptimize, naitve offset calulation (which is
easy to debug).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unused variables

6 years ago[NNOP] First version of MaxPoolingFloat32 (#563)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 23:48:11 +0000 (08:48 +0900)]
[NNOP] First version of MaxPoolingFloat32 (#563)

* add softmax unittest

* fix typoes (IFM_H -> IFM_C)

* modify dims (batch_size and input_size)

* Fix softmax unnittest according to comments
-remove empty lines
-add empty lines to the end of codes
-resolve the conflict related with #472.
-modify equality between two floats by using nfw::util::fp32::epsilon_equal

Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* add header files for softmax unittest

Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* add new line

add new line at the end of file

* [NNOP] First version of MaxPoolingFloat32

Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* initialize data with increasing value

Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* Move maxpool kernel to cl folder

* add maxpool acl kernel operator prototypes

* add new line

* change maxpool names as #574

* change names to align function prototype  with NN runtime.

6 years agoFix tizen cross/obs build fail (#595)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 12:43:32 +0000 (21:43 +0900)]
Fix tizen cross/obs build fail (#595)

1. For obs build, save downloaded_deps.tar.gz to nnfw/packaging
2. To distinguish obs build, introduce OBS_BUILD flag

6 years agoNew inception models test and change default (#579)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 10:20:59 +0000 (19:20 +0900)]
New inception models test and change default (#579)

- New inception models: inception module (small inception), inception slim
- Test small inception as default, and disable slim and nonslim

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoexit when unittet fail (#587)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 10:20:30 +0000 (19:20 +0900)]
exit when unittet fail (#587)

6 years agoUncomment remaining comment of LOG in ModelBuilder (#564)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 11 Apr 2018 09:22:32 +0000 (18:22 +0900)]
Uncomment remaining comment of LOG in ModelBuilder (#564)

This commit uncomments remaining comment of LOG in ModelBuilder.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoEnable building Android NN tests (#580)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 08:42:06 +0000 (17:42 +0900)]
Enable building Android NN tests (#580)

Building Android NN tests are on by default.
In case of g++ < 6.3, it is disabled to avoid build failure in
TestGenerated.cpp.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agoBug fix in run_test.sh (#586)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 08:41:24 +0000 (17:41 +0900)]
Bug fix in run_test.sh (#586)

Bug fix: parsing error by '/' when test have sub-directory

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoRename acl Conv2D filename (#574)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 07:50:59 +0000 (16:50 +0900)]
Rename acl Conv2D filename (#574)

* Rename acl Conv2D filename

This will remove _acl suffix from filename as it's inside cl folder

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

6 years agoRemove temporary include of ErrorStatus in ExecutionBuilder (#560)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 11 Apr 2018 07:47:38 +0000 (16:47 +0900)]
Remove temporary include of ErrorStatus in ExecutionBuilder (#560)

This commit removes temporary include of ErrorStatus in ExecutionBuilder and enables that include in HallInterfaces.h

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoRemove unused PreparedModelCallback (#555)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 11 Apr 2018 07:46:46 +0000 (16:46 +0900)]
Remove unused PreparedModelCallback (#555)

This commit removes unused PreparedModelCallback.
The PreparedModelCallback class is used to receive the error status of preparing a model as well as the prepared model from a task executing  asynchronously with respect to the runtime.
But in the environment of running on CPU only, it is no needed.

If it is needed later, can be copied from AndroidNN or implemented on our own.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoRemove partitioning(device) functions in ExecutionBuilder (#550)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 11 Apr 2018 07:45:58 +0000 (16:45 +0900)]
Remove partitioning(device) functions in ExecutionBuilder (#550)

This commit removes partitioning(device) functions in ExecutionBuilder.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoInitialize CLScheduler inside NN runtime (#548)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 07:45:28 +0000 (16:45 +0900)]
Initialize CLScheduler inside NN runtime (#548)

* Initialize CLScheduler inside NN runtime

ARM Compute Library requires CLScheduler to be initialized before any CL
operations.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use 'nnfw::kernel::acl::Initialize'

6 years ago[NNOP] Remove unnecessary blank line (#576)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 07:37:18 +0000 (16:37 +0900)]
[NNOP] Remove unnecessary blank line (#576)

This commit removes an unnecessary blank line in
`src/kernel/acl/src/cl/FullyConnected.test.cpp`.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years ago[NNAPI Unittest Conv1] Initialize inputs correctly (#575)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 07:31:32 +0000 (16:31 +0900)]
[NNAPI Unittest Conv1] Initialize inputs correctly (#575)

This commit fixes a bug in 'nnapi_unittest_conv_1' which incorrectly
initializes inputs.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoApply RELU to the FC layer. (#572)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 07:19:59 +0000 (16:19 +0900)]
Apply RELU to the FC layer. (#572)

This commit adds functionality of activation RELU into the FC layer.
This commit also adds a test case for RELU.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years ago[NNOP] Introduce module shape (#570)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 07:18:10 +0000 (16:18 +0900)]
[NNOP] Introduce module shape (#570)

This commit introduces a module shape. This module includes
getSizeOfDimension(), fromVectorNNShape(), and fromNNShape().
These functions are commonly used in various layer implementations.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoSupport ReLU activation (#571)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 06:26:06 +0000 (15:26 +0900)]
Support ReLU activation (#571)

This commit revises Conv2D operation kernel to support ReLU activation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoGather acl kernel operator prototypes (#569)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 06:07:13 +0000 (15:07 +0900)]
Gather acl kernel operator prototypes (#569)

* Gather acl kernel operator prototypes

This will gather acl kernel operator prototypes to root include folder

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

6 years agoUpdate convolution manual calculation xls (#562)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 05:44:34 +0000 (14:44 +0900)]
Update convolution manual calculation xls (#562)

This will update xls file with 3x5 input with 2 kernels

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[NNOP] The first version of reshape layer (#566)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 05:36:37 +0000 (14:36 +0900)]
[NNOP] The first version of reshape layer (#566)

This commit introduces the first version of reshape layer using ACL.
Unit test will be added more in later commits.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoRemove ext libs used to build TF Lite (#541)
서상민/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 05:32:51 +0000 (14:32 +0900)]
Remove ext libs used to build TF Lite (#541)

For issue #491

This patch is to remove external libs that were used to build TF Lite and to use a script that brings
those libraries from the tensorflow directory.

Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
6 years agoMove conv kernel to cl folder (#561)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 05:00:51 +0000 (14:00 +0900)]
Move conv kernel to cl folder (#561)

This will move Conv kernel source into cl folder for cl implementations

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agotflite_run: initialize _elapsed in ElapsedTime (#559)
서상민/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 04:38:26 +0000 (13:38 +0900)]
tflite_run: initialize _elapsed in ElapsedTime (#559)

Fixes issue #540

This patch initializes _elapsed in ElapsedTime as 0.0 to set a correct
time value.

Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
6 years agoAdd 3x5 2 kernel convolution test (#552)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 04:22:59 +0000 (13:22 +0900)]
Add 3x5 2 kernel convolution test (#552)

* Add 3x5 2 kernel convolution test

This will add 3x5 with 2 kernel convolution test and fix format conversions

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* apply review comments

6 years agoIntroduce interactive docker option (#545)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 04:03:03 +0000 (13:03 +0900)]
Introduce interactive docker option (#545)

To build and test continuously in the docker environment, run as below:
`$ DOCKER_INTERACTIVE=1 ./docker/Docker_build_cross_arm_ubuntu_without_aclbuild.sh`

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years ago[Pure ACL] Fix build break (#556)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 03:57:38 +0000 (12:57 +0900)]
[Pure ACL] Fix build break (#556)

This commit removes inputs/outputs field from Plan class (as it now has
a reference to Model class which has inputs/outputs) to fix build break.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix convolution kernel test failure (#557)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 11 Apr 2018 03:57:16 +0000 (12:57 +0900)]
Fix convolution kernel test failure (#557)

This will fix convolution kernel on acl test

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[NNOP] The first version of fullyConnectedFloat32 (#547)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 01:55:51 +0000 (10:55 +0900)]
[NNOP] The first version of fullyConnectedFloat32 (#547)

This commit introduces the first version of fullyConnectedFloat32
to integrate ACL with NN runtime.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoRemove functions used in only ExecutionPlan in ExecutionBuilder (#546)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 11 Apr 2018 01:51:24 +0000 (10:51 +0900)]
Remove functions used in only ExecutionPlan in ExecutionBuilder (#546)

This commit removes functions used in only ExecutionPlan in ExecutionBuilder

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoIntroduce CLUniqueTensor (#551)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 11 Apr 2018 01:47:21 +0000 (10:47 +0900)]
Introduce CLUniqueTensor (#551)

This commit introduces CLUniqueTensor which initialize and allocate
buffer in its constructor, and free that buffer in its destructor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>