박종현/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
박종현/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>
박종현/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>
김수진/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>
오형석/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
대인기/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>
오형석/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>
이한종/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>
오형석/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>
[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>
이한종/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>
윤현식/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>
김수진/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>
오형석/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>
오형석/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>
대인기/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>
윤지영/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>
오형석/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>
이한종/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>
김용섭/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>
김수진/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>
김수진/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>
이한종/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>
이상규/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>
이한종/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>
김용섭/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>
윤현식/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
오형석/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>
김용섭/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>
오형석/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>
이한종/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>
오형석/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>
이한종/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>
김수진/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>
김수진/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>
오형석/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>
이한종/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>
김수진/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>
오형석/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>
이한종/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>
이한종/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>
오형석/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>
이상규/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>
오형석/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>
오형석/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>
김수진/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>
이상규/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>
이상규/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>
윤지영/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>
윤지영/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>
김수진/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>
윤지영/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>
이한종/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>
오형석/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>
오형석/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
오형석/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>
오형석/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>
윤지영/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
오형석/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>
오형석/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
김수진/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>
오형석/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>
오형석/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>
김용섭/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
이한종/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>
오형석/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>
김수진/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>
이한종/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>
이한종/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>
이한종/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>
오형석/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>
김수진/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>
오형석/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>
오형석/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>
오형석/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>
오형석/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>
오형석/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>
오형석/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>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 14 Feb 2019 08:10:55 +0000 (17:10 +0900)]
[neurun] Introduce Index::valid method (#4425)
Introduce `valid` method for Index class. True if initialized otherwise
False.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 14 Feb 2019 05:30:14 +0000 (14:30 +0900)]
Apply IStage to IStageGenerator and PlanBuilder (#4414)
Apply IStage(AtomicStage) to IStageGenerator and PlanBuilder.
StageSequence will be applied for Subgraph soon.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Feb 2019 05:11:29 +0000 (14:11 +0900)]
Revise OperandUsage and related methods (#4408)
Rename OperandUsage as Usage
Remove setters for each enum value and use one setter
Rename getter and setter for usage
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
대인기/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Feb 2019 04:34:11 +0000 (13:34 +0900)]
Remove tabs in libs/tflite/CMakeLists.txt (#4424)
We haven't to use tab but space instead.
This patch removes two tabs and uses spaces instead.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 14 Feb 2019 04:20:09 +0000 (13:20 +0900)]
[PACL] Change getARMComputePermutationVector to make it generally (#4372)
This commit changes getARMComputePermutationVector to make it generally usable to be able to support NHWC.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Feb 2019 04:17:10 +0000 (13:17 +0900)]
Introduce pointer union to handle tensor data (#4421)
Introduce pointer union in cpu kernel to handle tensor data
It removes redundant reinterpet_cast
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
대인기/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Feb 2019 04:07:50 +0000 (13:07 +0900)]
Use target_compile_definitions instead add_definitions (#4419)
* Use target_compile_definitions instead add_definitions
We moved TFLITE relevant flags to tflite directory so
this flag setting should affect only this target.
This patch replaces add_definitinos with target_compile_definitions
so that this setting can affect only local target.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Do not relocate if block
also fix a typo.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* split a line
Signed-off-by: Inki Dae <inki.dae@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Feb 2019 02:12:03 +0000 (11:12 +0900)]
Revise frontend model object creation and finish (#4412)
* Revise frontend model object creation and finish
- Add log message for fail
- Add noexcept keyword to wrapper method
- Move duplicate finish call check from wrapper to NNAPI implementation
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Return false if exception catched
대인기/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Feb 2019 00:11:39 +0000 (09:11 +0900)]
Move TFLITE relevant flag setting to proper place (#4411)
TFLITE_MAJOR_VER and TFLITE_MINOR_VER flags are used to check
which version of TFLITE should be referred by NNFW at build time.
So these are related to only TFLITE relevant code.
This patch moves the setup script code of these two flags
from CMakeLists.txt to libs/tflite/CMakeLists.txt
Signed-off-by: Inki Dae <inki.dae@samsung.com>
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 13 Feb 2019 10:01:20 +0000 (19:01 +0900)]
[neurun] Remove missed skip lists of cpu test for SoftMax (#4417)
This commit removes missed skip lists of cpu test for `SoftMax`.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 13 Feb 2019 09:28:51 +0000 (18:28 +0900)]
Introduce type info converter for frontend (#4418)
Introduce converter from NNAPI operand type to runtime internal type info
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 13 Feb 2019 07:44:46 +0000 (16:44 +0900)]
Support operator to compare TypeInfo (#4415)
Operator overloading to compare TypeInfo
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 13 Feb 2019 04:55:43 +0000 (13:55 +0900)]
Introduce .gitattributes for github/linguist (#4409)
This repo is shown as a Python project due to many test spec files.
This commit prevents searching in generated test directory from linguist
(repo language detection).
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 13 Feb 2019 00:58:45 +0000 (09:58 +0900)]
[neurun] Use 'GenericFullyConnectedLayer' (#4396)
* [neurun] Use 'GenericFullyConnectedLayer`
We introduced `GenericFullyConnectedLayer` to support 4d input.
This commit applies and uses `GenericFullyConnectedLayer` instead of `CLFullyConnectedLayer` directly.
and then we don't need to dealling with `4D input tensor` in `ConstantInitializer` for `FullyConnected` operation anymore, so removed it.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Implement calcOffset for cpu and add workaround
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 13 Feb 2019 00:45:15 +0000 (09:45 +0900)]
Remove using default backend for input and output (#4370)
Using default backend is meaningless because of input/output value setting optimization
Use frontend layout information by hardcording
Skip set input tensor value when its backend is not allocated
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 12 Feb 2019 10:12:23 +0000 (19:12 +0900)]
Modified for Tensorflow 1.12 (#4378)
* Modified for Tensorflow 1.12
Fixed error while converting pb to tflite by applying changes in Tensorflow 1.12.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* Modified to a TF 1.12 term "Tensorflow Lite Converter"
김수진/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 11 Feb 2019 10:53:09 +0000 (19:53 +0900)]
[neurun] Support 'quant8' for some cpu kernels (#4402)
This commit supports `quant8` data type for some cpu kernels except below.
- `ConvolutionLayer` : no match result
- `FullyConnectedLayer` : need to revise to use `tflite`
Signed-off-by: sjsujinkim sjsujin.kim@samsung.com
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 11 Feb 2019 05:23:48 +0000 (14:23 +0900)]
[neurun] Do not correct dims for Concat operands (#4394)
Concat operands should not change dimensions for its inputs and outputs.
For example, rank 4 (8, 8, 2048, 1) is changed to rank 3 (8, 8, 2048).
It would break Concat operation.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 11 Feb 2019 02:18:50 +0000 (11:18 +0900)]
Support NHWC to SpaceToDepthKernel (#4369)
This commit supports NHWC to SpaceToDepthKernel
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Sun, 10 Feb 2019 23:54:24 +0000 (08:54 +0900)]
Introduce IStage, AtomicStage and CompositStage (#4374)
* Introduce IStage, AtomicStage and CompositStage
Introduce IStage, AtomicStage and CompositStage
- IStage: pure interface for replacing current Stage
- AtomicStage: Stage which can be called as atomic op
- CompositStage: A Stage or Stages which can be grouped
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* Move {Atomic,Composit}Stage to each own file
* Change struct to final class
* Change CompositStage to StageSequence
* final class to class final
대인기/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Feb 2019 06:46:27 +0000 (15:46 +0900)]
Check tflite version in build time (#4371)
* Check tflite version in build time
This patch seperates what OBS_BUILD flag means into.
- OBS_BUILD flag decides where external packages should be
installed from - if OBS_BUILD == 1 then from tizen package server
otherwise from upstream.
- TFLITE_VER means what tensorflow-lite version nnfw uses - if
TFLITE_VER == 190 then nnfw uses tensorflow-lite v1.9.0 for Tizen
otherwise tensorflow-lite v1.12.0. In default TFLITE_VER is 1120.
For this, I added a TFLITE_VER flag, which will pass proper version
information - 190 for gbs build or 1120 in default - to code side.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Seperated TFLITE_VER into TFLITE_MAJOR_VER and TFLITE_MINOR_VER
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Updated nnapi_delegate.h I missed.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Updated and cleaned up
- Cleaned up CMakeLists.txt file
- Added TFLITE_MAJOR_VER and TFLITE_MINOR_VER flags when coverage_build == 1
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Updated description
Signed-off-by: Inki Dae <inki.dae@samsung.com>
* Fix typo
Signed-off-by: Inki Dae <inki.dae@samsung.com>
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 7 Feb 2019 08:17:30 +0000 (17:17 +0900)]
Generate compiler command information during build (#4382)
* Generate compiler command information during build
- Set CMAKE_EXPORT_COMPILE_COMMANDS option to generate
`compile_commands.json` file while cmake build.
- It will be used to generate semantic information from various tools.
- Leave a comment about unsupported feature in CMake version 3.1.0
Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>