platform/core/ml/nnfw.git
6 years agoEnable googletest for unittesting (#398)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 4 Apr 2018 00:34:13 +0000 (09:34 +0900)]
Enable googletest for unittesting (#398)

0. Support arm-cross, x64-native, arm-native, and tizen-obs build
1. Introduce googletest at top level
2. Add simple test tflite_test.cc : this should be removed
3. Add howto doc

6 years agoSetup NN API without NN Runtime project (#390)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 23:26:08 +0000 (08:26 +0900)]
Setup NN API without NN Runtime project (#390)

This commit adds a room for NN API implementation without NN Runtime
(for experiments).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd git to docker image for nnfw (#405)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 23:25:01 +0000 (08:25 +0900)]
Add git to docker image for nnfw (#405)

- Add git package to docker image for nnfw

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoAdd USE_LOGNN option for make check (#400)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 3 Apr 2018 23:18:24 +0000 (08:18 +0900)]
Add USE_LOGNN option for make check (#400)

Enables having choice for LD_LIBRARY. The default LD_LIBRARY is out/lib
while obj/tools/nnapi_bindings/bindings/logging on USE_LOGNN=1. This is
supported for debugging.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoUse docker image of nnfw repo in CI (#401)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:53:57 +0000 (22:53 +0900)]
Use docker image of nnfw repo in CI (#401)

- Use docker image of nnfw repo in CI, i.e. nnfw_docker

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoIntroduce nnfw::util::feature namespace (#393)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:51:38 +0000 (22:51 +0900)]
Introduce nnfw::util::feature namespace (#393)

* Introduce nnfw::util::feature namespace

This commit introduces nnfw::util::feature namespace which will contain
various helpers for 3D tensor object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a typo(utils -> util)

* Implement feature::Shape's consturctor in its header

6 years agoIntroduce nnfw::util::env::IntAccessor (#392)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:50:43 +0000 (22:50 +0900)]
Introduce nnfw::util::env::IntAccessor (#392)

This commit introduces nnfw::util::env::IntAccessor which makes it easy
to access environmets (for configuration).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce util::benchmark (#391)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:50:29 +0000 (22:50 +0900)]
Introduce util::benchmark (#391)

This commit extracts benchmark-related helpers (implemented inside
tflite_benchmark) as a shared library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUse float-compare on NN API testing (#389)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:49:51 +0000 (22:49 +0900)]
Use float-compare on NN API testing (#389)

* Use float-compare on NN API testing

This commit revises nnapi_test to use float-compare on NN API
implementation testing.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use std::isnan instead of isnan

6 years agoIntroduce nnapi_template (#388)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:49:33 +0000 (22:49 +0900)]
Introduce nnapi_template (#388)

This commit introduces nnapi_template which provides a dummy NN API
implementation in order to make it easy to introduce an experimental NN
API implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoSupport STRIDE configuration (#386)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:49:23 +0000 (22:49 +0900)]
Support STRIDE configuration (#386)

This commit revises nnapi_unittest_conv1 to support STRIDE
configuration.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoManage bias_data lifetime correclty (#385)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:49:11 +0000 (22:49 +0900)]
Manage bias_data lifetime correclty (#385)

T/F Lite Interpreter assumes that buffer passed via
SetTensorParametersReadOnly method lives longer than the interpreter
itself.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce simple .tflite model generator for CONV2D (#381)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 13:48:46 +0000 (22:48 +0900)]
Introduce simple .tflite model generator for CONV2D (#381)

This commit introduces a simple .tflite model generator.
This first version only supports CONV2D for now.

Usage:
`$ modelgen.py` generates model.json
`$ modelgen.sh model.json` generates model.tflite

You can modify parameters `kernel_shape` and `input_shape` in modelgen.py
to generate different sizes of the kernel and input.

You can execute modelgen.py and modelgen.sh in any directory because
they find where they located at.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agobuild test-suite for test on target (#375)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 07:46:58 +0000 (16:46 +0900)]
build test-suite for test on target (#375)

* build test-suite for test on target

1. test-suite.tar.gz contains tests and Product/out
2. cross-build on CI generates test-suite

6 years agoFix SIGFPE of CpuExecutor (#395)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 06:21:57 +0000 (15:21 +0900)]
Fix SIGFPE of CpuExecutor (#395)

Enable following helpers
- getScalarData(const RunTimeOperandInfo& info)
- IsNullInput(const RunTimeOperandInfo *input) {

This resiolves SIGFPE reported at #370

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoRename nnapi_unitest_common to nnapi_unittest_common (#384)
서상민/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 05:47:34 +0000 (14:47 +0900)]
Rename nnapi_unitest_common to nnapi_unittest_common (#384)

This patch adds a missing 't' to the lib name.

Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
6 years agoExport nnfw_util's include path (#387)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 04:44:21 +0000 (13:44 +0900)]
Export nnfw_util's include path (#387)

This commit exports nnfw_util's include path as PUBLIC to make it
easy to use nnfw_util.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd Tizen rootfs for arm cross compilation (#378)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 03:56:05 +0000 (12:56 +0900)]
Add Tizen rootfs for arm cross compilation (#378)

- Add Tizen rootfs for arm cross compilation

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoFix build break on Ubuntu 14.04 (#383)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 3 Apr 2018 02:18:36 +0000 (11:18 +0900)]
Fix build break on Ubuntu 14.04 (#383)

This commit fixes build break on Ubuntu 14.04.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoadd the hal interfaces of neuralnetworks@1.1 to android_nn of labs (#371)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 3 Apr 2018 02:13:06 +0000 (11:13 +0900)]
add the hal interfaces of neuralnetworks@1.1 to android_nn of labs (#371)

This commit adds the hal interfaces of the neuralnetworks@1.1 to android_nn of labs.

The interfaces of neuralnetworks have been included in o-mr1-iot-preview-7 android-o-mr1-iot-preview-7 android-p-preview-1.
Ref : https://android.googlesource.com/platform/hardware/interfaces/+/7df64ea2fd8c8e501ac1ba5cb05def96f8a8d49e
Additionally, This is the history log) related to android nn of o-mr1-iot-preview-7 branch.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoIntroduce add_nnapi_unittest function (#380)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 2 Apr 2018 23:37:13 +0000 (08:37 +0900)]
Introduce add_nnapi_unittest function (#380)

This commit introduces add_nnapi_unittest function in 'CMakeLists.txt'
to make it easy to add new unittests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix wrong setting libneuralnetworks.so (#372)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 2 Apr 2018 23:14:43 +0000 (08:14 +0900)]
Fix wrong setting libneuralnetworks.so (#372)

Set right libneuralnetworks.so. To do this, revise some options such as
OPTIONS_LD_LIB_NNAPI and USE_NNAPI.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
6 years agoIntroduce NNAPI Unittest through T/F Lite (#374)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 2 Apr 2018 23:11:58 +0000 (08:11 +0900)]
Introduce NNAPI Unittest through T/F Lite (#374)

This commit introduces a convolution NNAPI unittest which
invokes NN API via T/F Lite interpreter and compare it with
the output of T/F Lite pure interpreter.

This testcase is derived from a convolution example in tflite_examples.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoCompare with CPU and ACL result in kernel conv test (#368)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Apr 2018 23:03:38 +0000 (08:03 +0900)]
Compare with CPU and ACL result in kernel conv test (#368)

This will enable convolution test to get expected from CPU and result from ACL and compare the two.
Some changes was done not directly related with tis change but to fix compile and linking.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoinstall libneuralnetworks.so into lib (#369)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 2 Apr 2018 08:59:22 +0000 (17:59 +0900)]
install libneuralnetworks.so into lib (#369)

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoAdd make check for run_test.sh (#361)
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 2 Apr 2018 08:16:47 +0000 (17:16 +0900)]
Add make check for run_test.sh (#361)

* Add make check for run_test.sh

This make check executes run_test.sh to test scripts in test/framework/

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* Apply other comments

- Separate `make install` & `make check`
- Only tests for x86 (NOT cross-build for arm)
- Add LD_LIBRARY_PATH on USE_NNAPI=1

6 years agoAdd compareData for kernel test lab (#362)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Apr 2018 04:17:24 +0000 (13:17 +0900)]
Add compareData for kernel test lab (#362)

This will add compareData that compares result and expected of convolution.
Success will do nothing and show error with exit -1 when fails.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoGet rid of cmake find_package(Threads) (#357)
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Apr 2018 02:53:40 +0000 (11:53 +0900)]
Get rid of cmake find_package(Threads) (#357)

We cannot use find_package(Threads) since some of our build
system use old version cmake. pthread is linked directly now.
So I removed find_package(Threads) and related statements.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agoEnable setInputFromMemory and setOutputFromMemory from Execution (#360)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 2 Apr 2018 02:53:17 +0000 (11:53 +0900)]
Enable setInputFromMemory and setOutputFromMemory from Execution (#360)

This commit enables setInputFromMemory and setOutputFromMemory from Execution.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoModify output log in simple_model (#359)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 2 Apr 2018 02:53:03 +0000 (11:53 +0900)]
Modify output log in simple_model (#359)

This commit modifies output log in simple_model.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years ago Change test script construction (#354)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 2 Apr 2018 02:10:03 +0000 (11:10 +0900)]
 Change test script construction (#354)

* Change test script construction

- Make directory for each test
- Make config.sh file for each test setting

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoLabs - kernel unit test - add convFloat32 method (#352)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Apr 2018 02:09:13 +0000 (11:09 +0900)]
Labs - kernel unit test - add convFloat32 method (#352)

* Labs - kernel unit test - add convFloat32 method

This will add convFloat32 method from NN runtime to prepare binding ACL convolution

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

* add space for readability

6 years agodocker arm cross build with no acl/rootfs build (#342)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 2 Apr 2018 02:01:11 +0000 (11:01 +0900)]
docker arm cross build with no acl/rootfs build (#342)

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoSeparate Cross build for arm document (#358)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Apr 2018 01:54:10 +0000 (10:54 +0900)]
Separate Cross build for arm document (#358)

This will separate cross build for arm section in main readme into docs folder file

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoAdd manual conv with excel (#356)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Apr 2018 01:50:42 +0000 (10:50 +0900)]
Add manual conv with excel (#356)

This will add and simple 3x3 convolution in excel file.
It uses excel built-in SUMPRODUCT() method.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoFix a failure to set RunTimePoolInfo (#355)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 30 Mar 2018 08:32:40 +0000 (17:32 +0900)]
Fix a failure to set RunTimePoolInfo (#355)

* Fix creating ashmem fail

This commit fixes creating ashmem fail.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Fix the fail to set RunTimePoolInfo

This commit fixes the fail to set RunTimePoolInfo.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoFix creating ashmem fail (#350)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 30 Mar 2018 08:31:29 +0000 (17:31 +0900)]
Fix creating ashmem fail (#350)

This commit fixes creating ashmem fail.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoMake readme file for tflite file tool (#353)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 08:11:06 +0000 (17:11 +0900)]
Make readme file for tflite file tool (#353)

Make reaeme file for

- model parser
- model generator

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoT/F Lite Conv Example: Use non-squared IFM & Kernel (#337)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 06:52:48 +0000 (15:52 +0900)]
T/F Lite Conv Example: Use non-squared IFM & Kernel (#337)

This commit revises T/F Lite Conv Example to use non-squred IFM and
Kernel to make it easy to distinguish dimensions.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce weights extractor from .tflite (#288)
김정현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 06:52:41 +0000 (15:52 +0900)]
Introduce weights extractor from .tflite (#288)

This commit introduces weight/bias extractor from .tflite file.
You can execute this script like below:

`$ extract_from_tflite.sh inception.tflite`

Then, you can find *.npy files in the current working directory.
Those *.npy files contain weight or bias values.
The name of each file is set to be the name of each layer.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
6 years agoModify add sample (#349)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 30 Mar 2018 03:41:21 +0000 (12:41 +0900)]
Modify add sample (#349)

This commit modifies add sample to fix the bug and show printing results.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoUpdate TODO of NeuralNetworks.cpp (#344)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 02:24:03 +0000 (11:24 +0900)]
Update TODO of NeuralNetworks.cpp (#344)

- Update TODO comment to use REF-ANN and TODO-NNRT
- Implment some TODO-NNRT

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoEnable MUL of CpuExecutor (#345)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 02:23:56 +0000 (11:23 +0900)]
Enable MUL of CpuExecutor (#345)

- Enable MUL of CpuExecutor

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoEnable the methods of `RunTimePoolInfo` to prepare to use memory (#343)
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 30 Mar 2018 02:07:51 +0000 (11:07 +0900)]
Enable the methods of `RunTimePoolInfo` to prepare to use memory (#343)

This commit enables the methods of `RunTimePoolInfo` to prepare to use memory.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoEnable StepExecutor::startComputeOnCpu (#341)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 01:45:54 +0000 (10:45 +0900)]
Enable StepExecutor::startComputeOnCpu (#341)

- Enable StepExecutor::startComputeOnCpu

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoSkip pthread TRY_RUN when cross build (#340)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 01:31:51 +0000 (10:31 +0900)]
Skip pthread TRY_RUN when cross build (#340)

6 years agoEnable Conv2D and FullyConnected operations (#333)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 01:26:11 +0000 (10:26 +0900)]
Enable Conv2D and FullyConnected operations (#333)

- Introduce Conv2D and FullyConnected operations
- Enable OperationType::CONV_2D and OperationType::FULLY_CONNECTED
  of CpuExecutor

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoFix NN_RUNTIME build option (#336)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 30 Mar 2018 01:26:02 +0000 (10:26 +0900)]
Fix NN_RUNTIME build option (#336)

This will move BUILD_NN_RUNTIME option into src of cmake as src has separate util project

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoFix link fail for pthread on obs (#338)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 30 Mar 2018 01:08:00 +0000 (10:08 +0900)]
Fix link fail for pthread on obs (#338)

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoRename experiments to labs (#296)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 30 Mar 2018 00:40:32 +0000 (09:40 +0900)]
Rename experiments to labs (#296)

As external and experiments both start with ex, it makes more typing.
This will change experiments folder name to labs to work more efficiently.

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoFix name of target in nn/runtime/CMakeLists.txt
Hyung-Kyu Choi [Fri, 30 Mar 2018 00:01:10 +0000 (09:01 +0900)]
Fix name of target in nn/runtime/CMakeLists.txt

- Fix name of target in nn/runtime/CMakeLists.txt

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoEnable three operation of CpuExecutor
Hyung-Kyu Choi [Thu, 29 Mar 2018 15:00:53 +0000 (00:00 +0900)]
Enable three operation of CpuExecutor

- Introduce Concatenation operation
- Enable OperationType::CONCATENATION, OperationType::SOFTMAX
  and OperationType::MAX_POOL_2D of CpuExecutor

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoAdd target external_acl for docker build (#325)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 23:55:45 +0000 (08:55 +0900)]
Add target external_acl for docker build (#325)

To skip acl build on docker env, `make external_acl` will copy shared libs
to lib folder.

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoFix compilation errors in StepExecutor::startComputeOnCpu
Sanggyu Lee [Thu, 29 Mar 2018 10:34:55 +0000 (19:34 +0900)]
Fix compilation errors in StepExecutor::startComputeOnCpu

- Link pthread for NNRuntime test executables
- Add using statement for Status
- IExecutionCallback to ExecutionCallback

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agoEnable Pooling of CpuExecutor
Hyung-Kyu Choi [Thu, 29 Mar 2018 08:52:26 +0000 (17:52 +0900)]
Enable Pooling of CpuExecutor

- Enable Poolinig of CpuExecutor
- Enable OperationType::AVERAGE_POOL_2D of CpuExecutor

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoCopy `Status.cpp` from libhidl of Android
jiseob.jang [Thu, 29 Mar 2018 10:38:05 +0000 (19:38 +0900)]
Copy `Status.cpp` from libhidl of Android

This commit copies `Status.cpp` from libhidl of Android.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoT/F Lite Conv Example: Use NN API (if possible)
Jonghyun Park [Thu, 29 Mar 2018 09:17:54 +0000 (18:17 +0900)]
T/F Lite Conv Example: Use NN API (if possible)

This commit revises T/F Lite Conv Example to use NN API (if possible).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoDo not build ACL static libraries (#306)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 09:40:31 +0000 (18:40 +0900)]
Do not build ACL static libraries (#306)

* Do not build ACL static libraries

This commit updates acl.cmake not to build static libraries in order to
reduce build time.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd arm ubuntu cross build script (#312)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 08:58:01 +0000 (17:58 +0900)]
Add arm ubuntu cross build script (#312)

* Add arm ubuntu cross build script

build step
1. prepare rootfs for arm ubuntu
2. run docker/docker_build_cross_arm_ubuntu.sh

TODO
Cache ACL build artifacts

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* Add install target

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* apply comment and extract long command string

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoIntroduce 'tflite_conv_example' (#317)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 08:43:50 +0000 (17:43 +0900)]
Introduce 'tflite_conv_example' (#317)

This commit introduce 'tflite_conv_example' which creates and runs a simple
NN model with one convolution with T/F Lite interpreter.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoEnable SimpleMath of CpuExecutor
Hyung-Kyu Choi [Thu, 29 Mar 2018 08:07:50 +0000 (17:07 +0900)]
Enable SimpleMath of CpuExecutor

- Enable SimpleMath of CpuExecutor
- Enable OperationType::ADD of CpuExecutor

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoChange comment
sjsujinkim [Thu, 29 Mar 2018 08:14:22 +0000 (17:14 +0900)]
Change comment

6 years agoAdd TODO comment into ExecutionBuilder::startCompute
sjsujinkim [Thu, 29 Mar 2018 08:06:48 +0000 (17:06 +0900)]
Add TODO comment into ExecutionBuilder::startCompute

This commit adds TODO comment into ExecutionBuilder::startCompute for future plan.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoRemove dummy return in Execution::create()
sjsujinkim [Thu, 29 Mar 2018 07:39:01 +0000 (16:39 +0900)]
Remove dummy return in Execution::create()

This commit removes dummy return which causes 'NeuralNetworksExecution_setInput passed a nullptr' in Execution::create().

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoImplement Memory::create()
jiseob.jang [Thu, 29 Mar 2018 07:23:12 +0000 (16:23 +0900)]
Implement Memory::create()

This commit implements Memory::create().

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoIntroduce CPU operation of NN runtime
Hyung-Kyu Choi [Thu, 29 Mar 2018 07:33:12 +0000 (16:33 +0900)]
Introduce CPU operation of NN runtime

- Introduce CPU operation of NN runtime
- Also introduce eigen and gemmlowp in depend/external

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoRemove dummy return in CompilationBuilder::createExecution
sjsujinkim [Thu, 29 Mar 2018 07:02:04 +0000 (16:02 +0900)]
Remove dummy return in CompilationBuilder::createExecution

This commit removes dummy return which causes 'NeuralNetworksExecution_setInput passed a nullptr' in CompilationBuilder::createExecution.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoAdd std::endl before logging by LOG
sjsujinkim [Thu, 29 Mar 2018 06:46:19 +0000 (15:46 +0900)]
Add std::endl before logging by LOG

Currently, we can see the log logging by LOG only in one line. It is very hard to read.
This commit adds std::endl before logging by LOG helper for easy to read.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoImplement Execution_setOutput
sjsujinkim [Thu, 29 Mar 2018 04:49:50 +0000 (13:49 +0900)]
Implement Execution_setOutput

This commit implements Execution_setOutput.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoAdd empty template code for kernel testing (#311)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 29 Mar 2018 07:19:23 +0000 (16:19 +0900)]
Add empty template code for kernel testing (#311)

This will add initial empty code for kernel testing programs
Main purpose of this change is to add add_kerneltesting method in cmake

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoFix acl expierments cmake
SaeHie Park [Thu, 29 Mar 2018 06:35:11 +0000 (15:35 +0900)]
Fix acl expierments cmake

This will fix cmake of acl experiment to use common variables defined in root cmake

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoTflite file operator selection tool (#310)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 06:49:28 +0000 (15:49 +0900)]
Tflite file operator selection tool (#310)

User select operators in input tflite model, and write these operators' number in text file.
This tool read input tflite model and text file,
then generate tflite model including selected operator only

This version can select operations in inception v3 nonslim

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoIntroduce OperationsUtils
Hyung-Kyu Choi [Thu, 29 Mar 2018 05:12:15 +0000 (14:12 +0900)]
Introduce OperationsUtils

- Introduce OperationsUtils
- Make use of types introduced from OperationUtils in CpuExecutor

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoImplement Execution_startCompute for only CPU
sjsujinkim [Wed, 28 Mar 2018 10:52:23 +0000 (19:52 +0900)]
Implement Execution_startCompute for only CPU

This commit implements Execution_startCompute for only CPU.

- Add StepExecutor(const ExecutionBuilder* executionBuilder, const ModelBuilder* model)
- enable StepExecutor::mapInputsAndOutputsTrivially

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoImplement Execution_setInput
sjsujinkim [Thu, 29 Mar 2018 04:37:39 +0000 (13:37 +0900)]
Implement Execution_setInput

This commit implements Execution_setInput.

- Enables
  - ModelArgumentInfo::setFromPointer
  - ModelArgumentInfo::updateDimensionInfo
  - DataLocation

6 years agoIntroduce cmake vars for acl (#304)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 29 Mar 2018 05:57:17 +0000 (14:57 +0900)]
Introduce cmake vars for acl (#304)

This will introduce NNFW_ACL_INCLUDES and NNFW_ALC_LIBS to cmake

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoAllow users to skip NN Runtime and experimental projects (#292)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 05:56:15 +0000 (14:56 +0900)]
Allow users to skip NN Runtime and experimental projects (#292)

This commit updates CMakeLists.txt to allow users to skip NN Runtime and
experimental project build.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoChange arm gcc version to 5.4 (#301)
이춘석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 05:55:34 +0000 (14:55 +0900)]
Change arm gcc version to 5.4 (#301)

arm gcc 4.9 does not support cross build on docker image.
This fixes such build fail.

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
6 years agoIntroduce 'tflite_benchmark' tool (#298)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 05:54:52 +0000 (14:54 +0900)]
Introduce 'tflite_benchmark' tool (#298)

This commit introduces 'tflite_benchmakr' which repeats 'Invoke' call
and measures elapsed time for each 'Invoke' call.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoImplement Event_wait Event_free
sjsujinkim [Thu, 29 Mar 2018 04:53:44 +0000 (13:53 +0900)]
Implement Event_wait Event_free

This commit implements Event_wait, Event_free and enables android::sp in NeuralNetworks.cpp.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years ago[NN Runtime] Add `StringPointer.cpp` to libutils
jiseob.jang [Thu, 29 Mar 2018 04:44:51 +0000 (13:44 +0900)]
[NN Runtime] Add `StringPointer.cpp` to libutils

This commit adds `StringPointer.cpp` to libutils.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoFix build error in ExecutionBuilder
Hyung-Kyu Choi [Thu, 29 Mar 2018 04:59:06 +0000 (13:59 +0900)]
Fix build error in ExecutionBuilder

- Fix build error in ExecutionBuilder
- We don't have ExecutionPlan member in ExecutionBuilder

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoAdd missed ExecutionBuilder constructor
sjsujinkim [Thu, 29 Mar 2018 04:18:56 +0000 (13:18 +0900)]
Add missed ExecutionBuilder constructor

This commit adds missed ExecutionBuilder constructor.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoEnable CpuExecutor::executeOperation
Hyung-Kyu Choi [Thu, 29 Mar 2018 03:09:27 +0000 (12:09 +0900)]
Enable CpuExecutor::executeOperation

- Enable CpuExecutor::executeOperation by introducing required types

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoHandle NNRuntime's testcases consistently
Sanggyu Lee [Thu, 29 Mar 2018 02:38:34 +0000 (11:38 +0900)]
Handle NNRuntime's testcases consistently

- Put all testcases in ref/nn/runtime/sample
- Use same naming style for source code and binaries

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
6 years agoAdd Callbacks without inheritance of IExecuteCallback (#272)
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 29 Mar 2018 04:50:55 +0000 (13:50 +0900)]
Add Callbacks without inheritance of IExecuteCallback (#272)

* Add Callbacks without inheritance of IExecuteCallback

This commit adds Callbacks without inhritance of IExecuteCallback.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Inherit RefBase

6 years agoUse shared library for convolution examples
Jonghyun Park [Thu, 29 Mar 2018 01:11:37 +0000 (01:11 +0000)]
Use shared library for convolution examples

This commit updates acl.cmake to use shared library for convolution
examples (instead of static one).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce nnapi_test tool (#290)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 03:12:27 +0000 (12:12 +0900)]
Introduce nnapi_test tool (#290)

* Introduce nnapi_test tool

This commit introduces nnapi_test tool, which runs T/F Lite interpreter
with and without NNAPI, and compare their result.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoTest script prototype for framework (#266)
오형석/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 29 Mar 2018 02:39:11 +0000 (11:39 +0900)]
Test script prototype for framework (#266)

* Test script prototype

Make new directory for test script
Add gitignore: cache directory for model download
Define test script

- Download inception v3 model
- Run tflite_run

HOWTO:
Ex) At root directory
DRIVER_BIN=Product/out/bin/tflite_run tests/framework/inception_v3.sh

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Set default for DRIVER_DIR

Set default value for DRIVER_DIR
Define variable for download server

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
6 years agoRun 'warming-up' iterations before measurement
Jonghyun Park [Thu, 29 Mar 2018 00:14:09 +0000 (00:14 +0000)]
Run 'warming-up' iterations before measurement

This commit updates 'run_benchmark' function to run 3 warming-up
iterations before actual measurement.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoGenerate a single shared library for NN runtime
Hyung-Kyu Choi [Wed, 28 Mar 2018 14:14:31 +0000 (23:14 +0900)]
Generate a single shared library for NN runtime

- Generate a single shared library for NN runtime

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoIntroduce NNFW_INCLUDE_DIR for cmake (#285)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 29 Mar 2018 01:03:45 +0000 (10:03 +0900)]
Introduce NNFW_INCLUDE_DIR for cmake (#285)

This will add common NNFW_INCLUDE_DIR for cmake

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoChange default to use OpenCL for experiments (#284)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 29 Mar 2018 01:03:34 +0000 (10:03 +0900)]
Change default to use OpenCL for experiments (#284)

This will change ACL to use OpenCL for default for experiments

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoFix bindacl, convacl experiment to use environment (#280)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 28 Mar 2018 23:48:24 +0000 (08:48 +0900)]
Fix bindacl, convacl experiment to use environment (#280)

This will fix bindacl and convacl expierment to use envionment variable to choose NEON/OpenCL
And also remove alc's utils methods

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoDo measure tensor update/extraction time (#279)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 28 Mar 2018 23:47:10 +0000 (08:47 +0900)]
Do measure tensor update/extraction time (#279)

This commit revises tflite_run not to measure tensor setting & extraction time (for Invoke).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce 'Inception v3' benchmark (#283)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 28 Mar 2018 23:46:22 +0000 (08:46 +0900)]
Introduce 'Inception v3' benchmark (#283)

This commit introduces 'inception v3' benchmark (which is derived from
inception v3 ACL Graph API example).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoBuild ExecutionBuilder
sjsujinkim [Wed, 28 Mar 2018 10:32:23 +0000 (19:32 +0900)]
Build ExecutionBuilder

This commit builds ExecutionBuilder which is not included to build.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
6 years agoChange the library name of NN Runtime to `neuralnetworks`
jiseob.jang [Wed, 28 Mar 2018 10:08:42 +0000 (19:08 +0900)]
Change the library name of NN Runtime to `neuralnetworks`

This commit changes the library name of NN Runtime to `neuralnetworks`.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
6 years agoUpdate gitignore for acl build outputs
SaeHie Park [Wed, 28 Mar 2018 09:38:38 +0000 (18:38 +0900)]
Update gitignore for acl build outputs

This will add git ignore file/folders for acl

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoFix convacl to use unique_ptr
SaeHie Park [Wed, 28 Mar 2018 10:32:19 +0000 (19:32 +0900)]
Fix convacl to use unique_ptr

This will fix convacl experiment to use std::unique_ptr

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