platform/core/ml/nnfw.git
5 years ago[neurun] Extract Backend as a separate file (#4587)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 6 Mar 2019 01:06:23 +0000 (10:06 +0900)]
[neurun] Extract Backend as a separate file (#4587)

Extract `backend::Backend` as a separate file.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Enable compilation for DataflowExecutor (#4586)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 6 Mar 2019 00:26:35 +0000 (09:26 +0900)]
[neurun] Enable compilation for DataflowExecutor (#4586)

* [neurun] Enable compilation for DataflowExecutor

This enables compilation compiles to DataflowExecutor. Currently it uses
only Executor, however the `use_dataflow_executor` will be decided with
a config value.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Set use_dataflow_executor = false

As default is Executor(Linear).

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoChange file access mode in script/ci (#4583)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 6 Mar 2019 00:24:27 +0000 (09:24 +0900)]
Change file access mode in script/ci (#4583)

Change docker_build_cross_arm_ubuntu_release.sh access mode in script/ci

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove acl and internal_acl_build targets (#4580)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 23:58:47 +0000 (08:58 +0900)]
Remove acl and internal_acl_build targets (#4580)

Now, there is no code/routine that invokes these targets.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoRemove benchmark acl script (#4564)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 10:26:57 +0000 (19:26 +0900)]
Remove benchmark acl script (#4564)

This commit removes ACL benchmark script, and updates related test
driver.

Note that this commit does not remove the option of test driver to
maintain the compatibility with CI infrastructure.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoMove CI infra tizen build script (#4578)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 10:21:00 +0000 (19:21 +0900)]
Move CI infra tizen build script (#4578)

Move CI infra tizen cross build and gbs build script from script/command

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRename format check command (#4579)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 10:07:10 +0000 (19:07 +0900)]
Rename format check command (#4579)

Rename format check command: format-checker -> format_check

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Remove switch stmt from addOperation (#4577)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 09:41:15 +0000 (18:41 +0900)]
[neurun] Remove switch stmt from addOperation (#4577)

Remove switch statement from addOperation and delegate operation
creation to OperationFactory.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Choose memory planner for cpu backend (#4552)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 09:38:02 +0000 (18:38 +0900)]
[neurun] Choose memory planner for cpu backend (#4552)

* [neurun] Choose memory planner for cpu backend

Support Environment Variable "CPU_MEMORY_PLANNER" for users to choose
which memory planner to use.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Remove "Planner" suffix for keys

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[PACL] Apply DepthwiseConvolutionLayer3x3 to DepthwiseConv operation (#4354)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 08:23:07 +0000 (17:23 +0900)]
[PACL] Apply DepthwiseConvolutionLayer3x3 to DepthwiseConv operation (#4354)

* [PACL] Apply 3x3 kernel to DepthwiseConv operation

This commit Applies 3x3 kernel to DepthwiseConv operation that has a weight of width and height is 3.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* [PACL] Intrudoces helper functions getting the index of height and width

This commit intrudoces helper functions getting the index of height and width without reference to the data layout.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Append comments to added helper functions

This commit appends comments to added helper functions getting index of a dimension
  - Append a TODO comment
  - Elaborate a param comment
  - Change the name of the helper function

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[neurun] Replace graph with model in Linear (#4519)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 07:33:05 +0000 (16:33 +0900)]
[neurun] Replace graph with model in Linear (#4519)

Replace Graph with Model in Linear so that this would make Linear not
dependent on Graph

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoExit code for command fail (#4571)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 07:21:40 +0000 (16:21 +0900)]
Exit code for command fail (#4571)

Only exit with code when fail
Otherwise, just return

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove compiler version for tizen (#4569)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 06:25:26 +0000 (15:25 +0900)]
Remove compiler version for tizen (#4569)

Remove compiler version 5 for tizen build
It will use default setting for arm softfp crossbuild in build host

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Fix build break (#4574)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 06:24:47 +0000 (15:24 +0900)]
[neurun] Fix build break (#4574)

This fixes build break due to recently merged commits.

Resolve #4573

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoUpdate build and test in readme file (#4550)
남궁석/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 06:24:19 +0000 (15:24 +0900)]
Update build and test in readme file (#4550)

* Update build and test in readme file

There are some modifications after build and test processes are updated.
This commit will add those information.

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
* remove some tag and sentence

5 years agoFormat checker command (#4570)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 06:24:01 +0000 (15:24 +0900)]
Format checker command (#4570)

- Introduce format checker command  (format-checker.sh will be removed)
- Fix git-hooks to use command
- Return instead of exit 0 for success

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Remove OP macro of StageGenerator in backends (#4526)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 05:45:34 +0000 (14:45 +0900)]
[neurun] Remove OP macro of StageGenerator in backends (#4526)

The OP macro forces all operation to be implemented.
But each operation is meaningful only when the operation is actually implemented.
If backend does not have the operation, neurun can use a different backend.

Remove dummy definition and add default throw function

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[neurun] Create all nodes with OperationFactory (#4567)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 02:42:09 +0000 (11:42 +0900)]
[neurun] Create all nodes with OperationFactory (#4567)

Move the nodes creation from `ANeuralNetworksModel_addOperation` to
`OperationFactory` for all 3 nodes that are still not moved.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove deprecated docker script (#4565)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 02:04:41 +0000 (11:04 +0900)]
Remove deprecated docker script (#4565)

Remove deprecated scripts for common docker setting
Current scripts are using common setting script in scripts/config

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoUse ROOTFS_DIR without indirection (#4562)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 00:58:18 +0000 (09:58 +0900)]
Use ROOTFS_DIR without indirection (#4562)

* Use ROOTFS_DIR without indirection

The current implementation of Makfile sets ROOTFS_ARM/ROOTFS_ARM64 from
ROOTFS_DIR environment variable, and CMake uses ROOTFS_ARM/ROOTFS_ARM64
environment variable to locate the location of root filesystem.

This commit eliminates this indirection and now CMake uses ROOTFS_DIR
without indirection.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update configure command

5 years ago[neurun] Create nodes with OperationFactory (#4563)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 5 Mar 2019 00:33:38 +0000 (09:33 +0900)]
[neurun] Create nodes with OperationFactory (#4563)

Move the nodes creation from `ANeuralNetworksModel_addOperation` to
`OperationFactory` for the nodes that are still not moved.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoIntroduce CI test and build script (#4561)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 00:26:15 +0000 (09:26 +0900)]
Introduce CI test and build script (#4561)

- Introduce directory for CI
- Introduce build script for pure acl release/debug build
- Introduce test script for pure acl

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce 'nnfw' shell script (#4560)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 00:12:49 +0000 (09:12 +0900)]
Introduce 'nnfw' shell script (#4560)

* Introduce 'nnfw' shell script

This commit copies "run" as "nnfw" as the first step to rename "run" as
"nnfw".

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update format-checker.sh

5 years agoRemove 'build-acl' command (#4558)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Mar 2019 00:11:02 +0000 (09:11 +0900)]
Remove 'build-acl' command (#4558)

This commit removes unused 'build-acl' command.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoRemove unused targets in Makefile (#4556)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Mar 2019 09:48:15 +0000 (18:48 +0900)]
Remove unused targets in Makefile (#4556)

This commit removes deprecated target "check" and related internal targets.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[neurun] Add some framework tests for neurun (#4546)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 4 Mar 2019 06:11:34 +0000 (15:11 +0900)]
[neurun] Add some framework tests for neurun (#4546)

This commit adds some `framework tests` for `neurun`

- depth_conv
- MODELS/mobilenet
- reshape

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoFix acl gbs build (#4548)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Mar 2019 06:11:21 +0000 (15:11 +0900)]
Fix acl gbs build (#4548)

* Fix acl gbs build

Skip downloading arm compute source code downloading

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Try to download source if cannot find installed code

5 years agoClean up ARMComputeConfig.cmake file (#4547)
대인기/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Mar 2019 05:50:32 +0000 (14:50 +0900)]
Clean up ARMComputeConfig.cmake file (#4547)

* Clean up ARMComputeConfig.cmake file

This patch cleans up existing ARMComputeConifg.cmake.
- Change ARMCompute_LIB_SEARCH_PATCHS to installed directory.
  . After building ARM Compute library, the libraries will be
    installed in the directory pointed by ARMCompute_PREFIX.
- Remove unnecessary target_link_libraries.
  . ARM Compute library can refer to OpenCL stub library itself.
- Add SConstruct file to cross-compile ARM Compute library
  . Now ARM Compute library upstream doesn't support Tizen
    platform so we will use SConstruct considered for Tizen
    until the change will go to upstream.
- Add several comments.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Move SConstruct to cmake/package/ARMCompute

Signed-off-by: Inki Dae <inki.dae@samsung.com>
5 years agoUse member variable to remain dlopen handle (#4534)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Mar 2019 04:21:56 +0000 (13:21 +0900)]
Use member variable to remain dlopen handle (#4534)

Use member variable to avoid warning by handle lost without dlclose()

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Revise OperationValidator for simplicity (#4543)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 4 Mar 2019 04:18:51 +0000 (13:18 +0900)]
[neurun] Revise OperationValidator for simplicity (#4543)

Revise OperationValidator to override only used methods.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoAdd initialize lost class members initialization (#4535)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Mar 2019 02:08:20 +0000 (11:08 +0900)]
Add initialize lost class members initialization (#4535)

Add initialize class members not defined yet

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[CMake] Print download error (#4529)
Saulo Aldighieri Moraes/Security R&D /SRBR/Assistant Engineer/삼성전자 [Mon, 4 Mar 2019 02:07:15 +0000 (23:07 -0300)]
[CMake] Print download error (#4529)

Improvement on cmake script to print detailed status message when download fails.
Example of new message format:

[ 11s] CMake Error at cmake/modules/ExternalSourceTools.cmake:39 (message):
[ 11s] error: downloading
[ 11s] 'https://github.com/ARM-software/ComputeLibrary/archive/v18.11.tar.gz'
[ 11s] failed
[ 11s]
[ 11s] status_code: 1
[ 11s] status_string: "Unsupported protocol"
[ 11s] log: Protocol "https" not supported or disabled in libcurl
[ 11s]
[ 11s] Closing connection -1

Signed-off-by: Saulo A. Moraes <s.moraes@samsung.com>
5 years ago[neurun] Fix Concat Elimination was not working (#4538)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 4 Mar 2019 02:00:30 +0000 (11:00 +0900)]
[neurun] Fix Concat Elimination was not working (#4538)

Implement default implementation for `NodeVisitor::visit(Subgraph)`.
Remove override implementation of `IStageGenerator`.
The default implementation is NOP so SubTensorAnalyzer was not working.
SubTensorAnalyzer changes are necessary for this commit otherwise it
crashes.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoWong directory name: tranpose -> transpose (#4537)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 28 Feb 2019 07:56:58 +0000 (16:56 +0900)]
Wong directory name: tranpose -> transpose (#4537)

Fixed wong directory name from `tranpose` to `transpose`

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
5 years ago[neurun] Enable Cast op in neurun (#4496)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 28 Feb 2019 06:54:15 +0000 (15:54 +0900)]
[neurun] Enable Cast op in neurun (#4496)

* [neurun] Enable Cast op in neurun

This commit enables `Cast` op in `neurun` for `acl_cl`, that is from `PACL`.

* Initialize CLKernelLibraryEx

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoException handling on tflite_run (#4531)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Feb 2019 04:40:56 +0000 (13:40 +0900)]
Exception handling on tflite_run (#4531)

- Add noexcept keyword for Args constructor
- Add try-catch for external tflite interpreter setting

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix tflite_run tensor loader bug (#4533)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Feb 2019 04:40:29 +0000 (13:40 +0900)]
Fix tflite_run tensor loader bug (#4533)

Fix tflite_run tensor loader's raw data pointer type: unique_ptr of array

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoInstall gcc-6.2.1 abi toolchain (#4524)
대인기/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Feb 2019 04:35:32 +0000 (13:35 +0900)]
Install gcc-6.2.1 abi toolchain (#4524)

* Install gcc-6.2.1 abi toolchain

This toolchain will be used to build NNFW for Tizen.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Fix typo

Signed-off-by: Inki Dae <inki.dae@samsung.com>
5 years ago[neurun] Add Logistic operation (#4523)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 28 Feb 2019 00:49:00 +0000 (09:49 +0900)]
[neurun] Add Logistic operation (#4523)

This commit does not have any kernel implementation.
It's only for a basic structure for Logistic operation.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoFix neurun build error (#4520)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Feb 2019 08:17:57 +0000 (17:17 +0900)]
Fix neurun build error (#4520)

Fix neurun build error by conflict DataflowExecutor and Subgraph implementation. It's just workaround

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Auto-generate Config strings (#4515)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 07:22:27 +0000 (16:22 +0900)]
[neurun] Auto-generate Config strings (#4515)

With macro expansion, this commit generates variables for config
strings. It is recommended to use auto-generated Config string rather
than raw strings.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Revise graph partitioning code (#4510)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 07:17:54 +0000 (16:17 +0900)]
[neurun] Revise graph partitioning code (#4510)

* [neurun] Revise graph partitioning code

- Move graph paritionining code from Linear to Graph.
- Handle Subgraphs as like LowerInfo until Execution

* Add skipped code to fix failed test

* Change the access specifier of partition method from public to private

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[neurun] Revert to using const_cast for extendRank in Mul op (#4503)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 07:14:17 +0000 (16:14 +0900)]
[neurun] Revert to using const_cast for extendRank in Mul op (#4503)

* [neurun] Revert to using const_cast for extendRank in Mul op

This commit reverts to using `const_cast` for `extendRank` in `Mul` op.
That's because we've figured out the current implementation treats `copy` of `shape` object not `reference`.
It makes the `shape` not extend actually.

It seems it was a coincidence to be run all of tests related `broadcasting`.
(We need to check the tests...)

* add TrivialTest.BroadcastMulTwo test

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years ago[neurun] Fix multiple output bug in DotDumper (#4514)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 07:12:57 +0000 (16:12 +0900)]
[neurun] Fix multiple output bug in DotDumper (#4514)

This commit fixes multiple output bug in `DotDumper`.

```
node0 -> obj5
node0 -> obj5
node0 -> obj5
```

```
node0 -> obj3
node0 -> obj4
node0 -> obj5
```

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years ago[neurun] Less verbose namespace (#4509)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 06:55:03 +0000 (15:55 +0900)]
[neurun] Less verbose namespace (#4509)

Make namespace less verbose for IObject and its subclasses.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neuron] Correct wrong copyright year in SubNode (#4512)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 27 Feb 2019 05:39:08 +0000 (14:39 +0900)]
[neuron] Correct wrong copyright year in SubNode (#4512)

SubNode in neurun is introduced this year (2019).
However, it was merged with 2018.
I've found it during implementation of squeeze.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[neurun] Introduce DataflowExecutor (#4502)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 03:48:01 +0000 (12:48 +0900)]
[neurun] Introduce DataflowExecutor (#4502)

This commit introduces `DataFlowExecutor` which runs with
ready-run-notify mechanism. Unlike `Executor`(linear) the next operation
to execute is not decided at compile time, it rather chooses at runtime.
This makes it possible to run the model in parallel and soon we will
introduce multi-threaded executor.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Move the ownership of LowerInfoMap (#4504)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 27 Feb 2019 01:35:38 +0000 (10:35 +0900)]
[neurun] Move the ownership of LowerInfoMap (#4504)

Move the ownership of LowerInfoMap from Graph to Linear

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[neurun] Sub operation (#4476)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 26 Feb 2019 10:25:53 +0000 (19:25 +0900)]
[neurun] Sub operation  (#4476)

* [neurun] sub operator support

Files for model and compilation were added. Test-skip file was modified.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* frameworktest was added

* fix format checker error

* add TODO comment for const_cast issue

* renaming SubstractNode to SubNode

5 years agoIntroduce method to check compilable (#4500)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Feb 2019 09:07:52 +0000 (18:07 +0900)]
Introduce method to check compilable (#4500)

Introduce method to check compilable to handle case cannot compile (environment variable setting,  unspecified operand shape, etc)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoChange Element in Linear to have lower_info (#4462)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 26 Feb 2019 07:51:07 +0000 (16:51 +0900)]
Change Element in Linear to have lower_info (#4462)

Change Element in Linear to have lower_info for accessing backend
directly on compilation phase

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoFrontend to support unspecified model input and output (#4495)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Feb 2019 07:49:41 +0000 (16:49 +0900)]
Frontend to support unspecified model input and output (#4495)

- Some model don't have specified shape for Input and output
- In that case, pass input and output shape to executor when prepare inference

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Introduce Job for DataflowExecutor (#4492)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 26 Feb 2019 07:48:54 +0000 (16:48 +0900)]
[neurun] Introduce Job for DataflowExecutor (#4492)

Introduce Job class that is used by DataflowExecutor. This class is for
notified-run-notify mechanism.

- Once all waiting nodes are notified, this node can be executed
- Schedule this node and run
- After execution notify its outputs to awaiting nodes

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoSet input and output for interpreter (#4498)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Feb 2019 07:48:35 +0000 (16:48 +0900)]
Set input and output for interpreter (#4498)

Collect input and output information for interpreter
Prepare set input and output

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Remove Plan from Compiler (#4497)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 26 Feb 2019 07:04:16 +0000 (16:04 +0900)]
[neurun] Remove Plan from Compiler (#4497)

Remove Plan object from Compiler members. It is not needed as a member
since it is only for `Executor`(linear).

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Fix typo in getOutputOperandIndex (#4489)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 09:36:30 +0000 (18:36 +0900)]
[neurun] Fix typo in getOutputOperandIndex (#4489)

I think it is correct to use `model().outputs` instead of `model().inputs` in `getOutputOperandIndex`.
This commit changes `model().inputs` to ``model().outputs` in `getOutputOperandIndex`.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years ago[neurun] Enable tanh in neurun (#4467)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 09:22:36 +0000 (18:22 +0900)]
[neurun] Enable tanh in neurun (#4467)

* [neurun] Enable tanh in neurun

This commit enables `tanh` in `neurun` for `acl_cl`, that is from `PACL`.

* Fix typo

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoUse interpreter for model cannot compile (#4482)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 25 Feb 2019 09:21:52 +0000 (18:21 +0900)]
Use interpreter for model cannot compile (#4482)

Use interpreter if try to compile, but cannot compile

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Introduce FunctionSequence (#4473)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 09:21:41 +0000 (18:21 +0900)]
[neurun] Introduce FunctionSequence (#4473)

Introduce `exec::FunctionSequence` class which is a linear composite of
`IFunction`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Fix enum typo in StageGenerator (#4487)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 09:21:02 +0000 (18:21 +0900)]
[neurun] Fix enum typo in StageGenerator (#4487)

This commit fixes enum typo in `StageGenerator` for `StridedSliceNode`.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoFix cmake arm compute build and makefile (#4470)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 25 Feb 2019 07:26:52 +0000 (16:26 +0900)]
Fix cmake arm compute build and makefile (#4470)

* Fix cmake arm compute build and makefile

- Remove legacy makefile setting for acl build
- Support multi-core acl build
- Fix acl install command to make directory and copy sequencially

* Support disable multithread acl build

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Remove unnecessary code in Graph::lower (#4486)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 07:26:30 +0000 (16:26 +0900)]
[neurun] Remove unnecessary code in Graph::lower (#4486)

Now that lower info is created just above, we do not need to clear the
containers manually.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Introduce ExecutorBase (#4483)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 07:25:36 +0000 (16:25 +0900)]
[neurun] Introduce ExecutorBase (#4483)

This commit introduces `ExecutorBase` class which a subclass of
`IExecutor` for the convenience of setting inputs/outputs.
`ExecutorBase` does not depend on `Plan`, which make it possible to
implement `DataflowExecutor` without `Plan`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoDisable acl build for tizen cross build (#4479)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 25 Feb 2019 06:28:39 +0000 (15:28 +0900)]
Disable acl build for tizen cross build (#4479)

Update build script to disable acl build for tizen cross build

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoEnable sub/broadcast framework test (#4472)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 25 Feb 2019 06:23:26 +0000 (15:23 +0900)]
Enable sub/broadcast framework test (#4472)

Enable `sub/broadcast` framework test since it works.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoAdd license statement in Executor.cc (#4478)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 25 Feb 2019 05:46:59 +0000 (14:46 +0900)]
Add license statement in Executor.cc (#4478)

Add lost  license statement in Executor.cc

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce Interpreter class (#4477)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 25 Feb 2019 05:13:43 +0000 (14:13 +0900)]
Introduce Interpreter class (#4477)

Introduce Interpreter class using IExecutor interface

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Enable Mul in neurun (#4460)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 25 Feb 2019 05:10:39 +0000 (14:10 +0900)]
[neurun] Enable Mul in neurun (#4460)

* [neurun] Enable Mul in neurun

This commit enables `Mul` in `neurun` for `acl_cl`, that is from `PACL`.

* support rank 3 in ConstantInitializer

* fix typo

* Remove const_cast and make shape to be able to change

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoEnable hashtable_lookup framework test (#4471)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 25 Feb 2019 02:08:20 +0000 (11:08 +0900)]
Enable hashtable_lookup framework test (#4471)

Enable `hashtable_lookup` framework test since it works.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago`run_benchmark_op` will not run disabled tests (#4465)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Mon, 25 Feb 2019 01:50:58 +0000 (10:50 +0900)]
`run_benchmark_op` will not run disabled tests (#4465)

`run_benchmark_op.sh` has not been consider `STATUS` properety of tests.
Now, `run_benchmark_op.sh` will skip tests where `STATUS` = `disabled`.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoAdd generated test for 3D input and 2D indices in gather (#4345)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 22 Feb 2019 07:00:05 +0000 (16:00 +0900)]
Add generated test for 3D input and 2D indices in gather (#4345)

* Add generated test for 3D input and 2D indices in gather

This commit contains a new generated test for 3D input and 2D indices in gather.

gather_ex_3D_2D_float_1 for [2,3,4] input and [1,2] indices with axis 0
gather_ex_3D_2D_float_2 for [2,3,4] input and [2,1] indices with axis 1
gather_ex_3D_2D_float_3 for [2,3,4] input and [2,1] indices with axis 2

* Update wrong comment

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoAdd generated tests for 2D input and 3D indices in gather (#4344)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 22 Feb 2019 06:59:43 +0000 (15:59 +0900)]
Add generated tests for 2D input and 3D indices in gather (#4344)

* Add generated tests for 2D input and 3D indices in gather

This commit contains a new generated test for 2D input and 3D indices in gather.

gather_ex_2D_3D_float_1 for [1,1,2] shape indices with axis 0
gather_ex_2D_3D_float_2 for [1,2,1] shape indices with axis 1

* Update wrong comments

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[neurun] Fix StridedSlice name typo (#4463)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 22 Feb 2019 06:59:18 +0000 (15:59 +0900)]
[neurun] Fix StridedSlice name typo (#4463)

This commit fixes `StridedSlice` name typo.

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoAdd generated tests for 2D input and 2D indices in gather (#4343)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 22 Feb 2019 06:58:47 +0000 (15:58 +0900)]
Add generated tests for 2D input and 2D indices in gather (#4343)

* Add generated tests for 2D input and 2D indices in gather

This commit contains a new generated test for 2D input and 2D indices in gather.

gather_ex_2D_2D_float_1 for [1,2] shape indices with axis 0
gather_ex_2D_2D_float_2 for [1,2] shape indices with axis 1

* Update the wrong comments

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[neurun] Explicit tag struct declaration (#4459)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 22 Feb 2019 02:24:41 +0000 (11:24 +0900)]
[neurun] Explicit tag struct declaration (#4459)

Explicitly declare `struct IndexTag` which is for distinguishing what
kind of index type is this.
`IO::Index` and `operand::Index` were same type before since they are
resolved to same `IndexTag`. (Probably `::IndexTag`).

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove exeuction interface method to return plan (#4457)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Feb 2019 10:16:07 +0000 (19:16 +0900)]
Remove exeuction interface method to return plan (#4457)

Remove exeuction interface method to return plan
Make field in ANeuralNetworksExecution to reference graph model

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce IExecutor interface (#4454)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Feb 2019 08:37:21 +0000 (17:37 +0900)]
Introduce IExecutor interface (#4454)

* Introduce IExecutor interface

Introduce IExecutor interface
Access executor using interface on frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Executor class as final

5 years agoUse shape converter on frontend (#4452)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Feb 2019 03:43:00 +0000 (12:43 +0900)]
Use shape converter on frontend (#4452)

Use defined shape converter on frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRevert "Revert acl cmake build" (#4447)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Feb 2019 02:21:14 +0000 (11:21 +0900)]
Revert "Revert acl cmake build" (#4447)

This reverts commit eddc0157eeba4766ce3b121fe009a24788d262ce.
Move acl build into cmake again

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoAdd gather 4D input nnapi test (#4313)
윤지영/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 21 Feb 2019 02:03:57 +0000 (11:03 +0900)]
Add gather 4D input nnapi test (#4313)

* Add gather 4D input nnapi test

For verifying 4D input case in gather operation.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Add description for this case

* Fixed wrong comments

5 years agoRevise frontend execution (#4450)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Feb 2019 00:50:42 +0000 (09:50 +0900)]
Revise frontend execution (#4450)

- Change return type of wrapper methods
- Change order of method declarations in wrapper class
- Add noexcept keyword
- Add log message for fail
- Exception handle on wrapper methods

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove useless include in frontend (#4451)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Feb 2019 00:50:27 +0000 (09:50 +0900)]
Remove useless include in frontend (#4451)

* Remove useless include in frontend

Remove deprecated or duplicated include in frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Recover including NeuralNetworks.h and NeuralNetworksEx.h

5 years ago[neurun] Enable StrideSlice in neurun (#4446)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 20 Feb 2019 09:48:15 +0000 (18:48 +0900)]
[neurun] Enable StrideSlice in neurun (#4446)

* [neurun] Enable StrideSlice in neurun

This commit enables `StrideSlice` in neurun that is from `PACL`.

* Apply OperationFactory

* add framework test

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoRevise frontend compilation (#4448)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 20 Feb 2019 07:09:13 +0000 (16:09 +0900)]
Revise frontend compilation (#4448)

- Change return type of finish wrapper method
- Move method body into .cc file
- Add noexcept keyword
- Add log message for fail

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRevise frontend model input output identification (#4442)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 20 Feb 2019 02:46:56 +0000 (11:46 +0900)]
Revise frontend model input output identification (#4442)

- Introduce wrapper method to identify model input & output
- Introduce checker method to check operand usage is operation output
- Add log message for fail

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoApply subgraph on compile time (#4426)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 20 Feb 2019 00:48:01 +0000 (09:48 +0900)]
Apply subgraph on compile time (#4426)

* Apply subgraph on compile time

Apply subgraph to linearization and stage generation on compile time

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* Change the name of Element in Linear from node to subgraph

* Add todo for moving dividing graph code into graph

* Add todos for Element in Linear

* Change index of Element from const Index * to Index

5 years ago[neurun] Create AddNode with OperationFactory (#4441)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 19 Feb 2019 23:58:41 +0000 (08:58 +0900)]
[neurun] Create AddNode with OperationFactory (#4441)

Move AddNode creation from `ANeuralNetworksModel_addOperation` to
`OperationFactory`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRevise frontend operation add (#4440)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 19 Feb 2019 01:41:50 +0000 (10:41 +0900)]
Revise frontend operation add (#4440)

- Introduce wrapper method to add operation
- Add log message for fail

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Use legacy tflite method in ConvolutionLayer for cpu (#4416)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 19 Feb 2019 01:11:39 +0000 (10:11 +0900)]
[neurun] Use legacy tflite method in ConvolutionLayer for cpu (#4416)

As we've updated the tensorflow to v1.12, `ConvolutionLayer` kernel for `cpu` was updated.

However,`ConvolutionLayer` of cpu kernel for `quant8` makes wrong matching results when running genereated tests.
Legacy methods of that work well for `quant8`.

`Android NN` master barnch Conv2D also keep using legacy methods.
For consistency and being useful to support `quant8`, we can use legacy methods instead of newly added methods.

(Added TODO comment about changing to new version)

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years ago[neurun] Rename DepthwiseConv2D.cc (#4439)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 19 Feb 2019 01:10:51 +0000 (10:10 +0900)]
[neurun] Rename DepthwiseConv2D.cc (#4439)

Rename `DepthwiseConv2D.cc` to be `DepthwiseConv2DNode.cc` for
class-filename consistency.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Introduce OperationFactory (#4438)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 19 Feb 2019 00:49:00 +0000 (09:49 +0900)]
[neurun] Introduce OperationFactory (#4438)

This commit introduces OperationFactory:

- To extract the actual creator from `frontend/model.cc`
- To remove NN API dependency from each `operation::Node`'s constructor

To check if this works, OperationFactory generates Conv2D node.
(other nodes are generated in the as-is way)

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Introduce LowerInfoMap (#4437)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 19 Feb 2019 00:41:47 +0000 (09:41 +0900)]
[neurun] Introduce LowerInfoMap (#4437)

This class combines index map of `operand::LowerInfo` and
`operation::LowerInfo`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRevise setOperandValueFromMemory (#4436)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 18 Feb 2019 23:59:56 +0000 (08:59 +0900)]
Revise setOperandValueFromMemory (#4436)

- Use wrappeer method
- Add log message for fail

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Revise FullyConncetedLayer for cpu kernel (#4413)
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 18 Feb 2019 10:51:12 +0000 (19:51 +0900)]
[neurun] Revise FullyConncetedLayer for cpu kernel (#4413)

As we've updated the tensorflow to v1.12, `FullyConnectedLayer` kernel for `cpu` was updated, but it is not using `FullyConnected` method in `tflite` directly.
This commit revises `FullyConnectedLayer` kernel for `cpu`, for consistency and being useful to support `quant8`.

% `legacy` method in `legacy_optimized_ops.h` is used, since the method in `optimized_ops.h` does not work well now.
% It's current implementation in Android NN FUllyConncted

Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
5 years agoRevise frontend set operand value (#4432)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 18 Feb 2019 00:12:34 +0000 (09:12 +0900)]
Revise frontend set operand value (#4432)

- Introduce wrapper method to set operand value
- Introduce wrapper methods to check correctness
- Add log message for fail
- Move method implementation into .cc from header
- Change setOptionalOperand as private

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove index value casting on constructor (#4434)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 18 Feb 2019 00:12:23 +0000 (09:12 +0900)]
Remove index value casting on constructor (#4434)

Remove index value casting on constructor
Check index value and return fail when negative value on frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove workaround for neurun framework test (#4430)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Sun, 17 Feb 2019 22:24:54 +0000 (07:24 +0900)]
Remove workaround for neurun framework test (#4430)

Remove workaround in Makefile
- Remove framework test list file copying

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRename utils for NNAPI to internal converters (#4429)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 15 Feb 2019 02:21:54 +0000 (11:21 +0900)]
Rename utils for NNAPI to internal converters (#4429)

Rename file name from TypeConvert.* to NNAPIConvert.*
Rename util function name of NNAPI frontend struct converters
Update comments

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRevise frontend operand add API (#4427)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 15 Feb 2019 00:14:13 +0000 (09:14 +0900)]
Revise frontend operand add API (#4427)

- Add log message for fail
- Introduce wrapper method

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce shape converter (#4428)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 15 Feb 2019 00:12:46 +0000 (09:12 +0900)]
Introduce shape converter (#4428)

Introduce shape converter from NNAPI operand type to neurun shape

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