윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 22 Aug 2018 10:03:30 +0000 (19:03 +0900)]
[PureACL] NEON implicit CONV2D operation (#2356)
Added NEON implicit CONV2D operation.
From 20 `conv` generated tests, 6 tests passes.
```
$ NEON=1 LD_LIBRARY_PATH=Product/out/lib Product/out/unittest/runtime_run_android_nn_test --gtest_filter=GeneratedTests.conv*
[==========] Running 20 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 20 tests from GeneratedTests
[ OK ] GeneratedTests.conv_1_h3_w2_SAME (51 ms)
[ OK ] GeneratedTests.conv_1_h3_w2_VALID (3 ms)
[ OK ] GeneratedTests.conv_3_h3_w2_SAME (10 ms)
[ OK ] GeneratedTests.conv_3_h3_w2_VALID (7 ms)
[ OK ] GeneratedTests.conv_float_2 (2 ms)
[ OK ] GeneratedTests.conv_quant8_2 (3 ms)
[==========] 20 tests from 1 test case ran. (86 ms total)
[ PASSED ] 6 tests.
[ FAILED ] GeneratedTests.conv_float_channels
[ FAILED ] GeneratedTests.conv_float_channels_weights_as_inputs
[ FAILED ] GeneratedTests.conv_float_large
[ FAILED ] GeneratedTests.conv_float_large_weights_as_inputs
[ FAILED ] GeneratedTests.conv_float
[ FAILED ] GeneratedTests.conv_float_weights_as_inputs
[ FAILED ] GeneratedTests.conv_quant8_channels
[ FAILED ] GeneratedTests.conv_quant8_channels_weights_as_inputs
[ FAILED ] GeneratedTests.conv_quant8_large
[ FAILED ] GeneratedTests.conv_quant8_large_weights_as_inputs
[ FAILED ] GeneratedTests.conv_quant8
[ FAILED ] GeneratedTests.conv_quant8_overflow
[ FAILED ] GeneratedTests.conv_quant8_overflow_weights_as_inputs
[ FAILED ] GeneratedTests.conv_quant8_weights_as_inputs
14 FAILED TESTS
```
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 22 Aug 2018 08:53:13 +0000 (17:53 +0900)]
[neurun] Define TypeInfo class (#2415)
Define TypeInfo class to remove data type information from Shape
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 08:28:13 +0000 (17:28 +0900)]
Enable to check state of model (#2411)
This commit will enable to check model state if it is finished or not
As a result, checking `ANUERALNETWORKS_BAD_STATE` is available
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 08:26:24 +0000 (17:26 +0900)]
[neurun] Introduce NodeVisitor for Graph operation (#2405)
Introduce a NodeVisitor `neurun::graph::operation::Node` which is a
visitor interface for our graph nodes(operations). Once this class
gets used, NodeVisitor for `internal::tflite::op::Node` will no longer
be used.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 07:28:13 +0000 (16:28 +0900)]
[neurun] Add setInput/setOutput into graph node (#2406)
* [neurun] Add setInput/setOutput into graph node
This commit adds setInput/setOutput into graph node.
Signed-off-by: sjsujinkim sjsujin.kim@samsung.com
* change function names from set{In/Out}put to {in/out}put
* fix format in Set test
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 22 Aug 2018 07:19:42 +0000 (16:19 +0900)]
Remove TopK tests from generated test skip file (#2401)
ACL to support TopK was enhanced so TopK tests in skip file was removed.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 06:45:43 +0000 (15:45 +0900)]
Introduce LSTM operation into pureACL (#2408)
This commit introduces LSTM operation into pureACL.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 05:45:31 +0000 (14:45 +0900)]
Implement RNN operation in pureacl (#2403)
This commit implements RNN operation in pureacl.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 22 Aug 2018 05:45:16 +0000 (14:45 +0900)]
[PureACL] NEON Fully_Connected op (#2378)
Added NEON FullyConnected operation. This commit was tested with #2370.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 22 Aug 2018 03:50:12 +0000 (12:50 +0900)]
[neurun] Define internal datatype (#2399)
Define internal datatype (enum class DataType)
Now enum value of DataType is exactly matched with OperandCode in NeuralNetworks.h
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 02:19:02 +0000 (11:19 +0900)]
Add nnapi_quickcheck for split operator (#2398)
Add nnapi_quickcheck_split_1 file to verify split operator
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 01:38:09 +0000 (10:38 +0900)]
Introduce operation::LowerInfo (#2389)
Introduce `operation::LowerInfo` which contains backend id as string.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 22 Aug 2018 01:34:44 +0000 (10:34 +0900)]
[neurun] Remove legacy tensor conversion (#2390)
Remove tensor conversions since we will introduce a new way.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 22 Aug 2018 01:32:30 +0000 (10:32 +0900)]
[ACL] Update with TopK enhancement (#2375)
This commit introduces enhanced ACL with TopK.
(https://github.sec.samsung.net/RS7-RuntimeNTools/ComputeLibrary/commit/
73fd00be82ebcb3cef7c858770a3aeba4d3e82c7)
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 22 Aug 2018 01:32:08 +0000 (10:32 +0900)]
[PureACL] NEON Softmax (#2380)
This commit enables NEON Softmax operation.
Test passed: GeneratedTests.softmax_float_1 and 2, GeneratedTests.softmax_quant8_1 and 2.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 21 Aug 2018 23:36:20 +0000 (08:36 +0900)]
[neurun] Simplify namespace for operand (#2381)
Simplify namespace for operand internal data structure
- Use alias for internal
- Use relative namespace
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
fully connected test fail (#2263)
Fully connected test for float is failing.
The google test case for fully connected is failing.
The failure for rank 2 operands which might be caused due to improper handling of batches.
Signed-off-by: praveen D N <praveen.dn@samsung.com>
nnfw: Generated Test fix for reshape (#2262)
It fixes two generated test case failure
-reshape_weights_as_inputs
-reshape_quant8_weights_as_inputs
This patch adds sanity check if Inputs is not set.
Signed-off-by: Tanuj Tekriwal <tanuj.tekri@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 21 Aug 2018 08:19:20 +0000 (17:19 +0900)]
[neurun] Introduce Graph::Iterator (#2387)
This commit introduces `Graph::Iterator` class to support various
kinds of iterators. The template parameter `is_const` is used to
support both const and mutable iterator without writing same code
twice.
- Introduce `Graph::Iterator`
- Introduce `Graph::PostDfsIterator` class
- Remove `Graph::iteratePostDfs()` method
Resolve #2386
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 21 Aug 2018 08:16:36 +0000 (17:16 +0900)]
[PureACL] NEON Relu, Relu1, Relu6 operations (#2384)
This commit introduces Relu, Relu1, Relu6 operations.
All Relu generated test (except `relu6_quant8_2`) passes.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 21 Aug 2018 07:28:09 +0000 (16:28 +0900)]
Set parameter for Floor operation in pureACL (#2383)
This commit supports Floor operation for the GPU mode by using OpenCL in acl.
It sets appropriate parameters and invoke the acl floor function.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 21 Aug 2018 06:54:49 +0000 (15:54 +0900)]
Update skiplist of GeneratedTests (#2385)
Update skiplist for passed GeneratedTests
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 21 Aug 2018 06:06:40 +0000 (15:06 +0900)]
[neurun] Introduce NOP operation (#2382)
This commit introduces NOP operation to do nothing.
(Actually it needs the tensor copy into other indexes. but not now.)
In this PR, the NOP operation doesn't anything, it's just the operation for graph manipulation test.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 21 Aug 2018 06:03:10 +0000 (15:03 +0900)]
Add per-operation instrument code in pure arm compute runtime (#2362)
- Put separate copies of profiler under util/profiling
: profile.h, profile_buffer.h, time.h, time.cc are same to original.
It is copied to remove circular dependency.
- Add instrument code in pure arm compute runtime
: See execution.cc
- Move profiling context to util/profiling
: We will use Profiling Context in other runtime (i.e., neurun) later.
Related Issue: #1696
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 21 Aug 2018 01:31:54 +0000 (10:31 +0900)]
[Generated Test] addining test for Fully_Connected (#2370)
Currently all of generated tests for FC(Fully_Connected) fail.
This commit adds a test case for FC, which uses same data with nnapi_quickcheck_fully_connected_1.
The purpose of adding this test is to check whether any modification against current FC code works correctly.
(More specifically, to see if NEON FC code works for #2334)
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 21 Aug 2018 01:09:06 +0000 (10:09 +0900)]
Introduce Floor operation into pureACL (#2367)
* Introduce Floor operation into pureACL
This commit adds Floor operation into pureACL runtime.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Throw an exception for unsupported floor operation
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 20 Aug 2018 23:33:45 +0000 (08:33 +0900)]
[PureACL] NEON implicit MaxPool2D & AvgPool2D operation (#2361)
Added NEON implicit MaxPool2D and AvgPool2D operation.
This commits makes 2 `MaxPool2D` generated test passed among 8 tests
and makes 2 `AvgPool2D` generated test passed among 8 tests
- MaxPool2D
```
$ NEON=1 LD_LIBRARY_PATH=Product/out/lib Product/out/unittest/runtime_run_android_nn_test --gtest_filter=GeneratedTests.max_pool*
[ OK ] GeneratedTests.max_pool_float_4 (42 ms)
[ OK ] GeneratedTests.max_pool_quant8_4 (1 ms)
...
[==========] 8 tests from 1 test case ran. (51 ms total)
[ PASSED ] 2 tests.
[ FAILED ] 6 tests, listed below:
[ FAILED ] GeneratedTests.max_pool_float_1
[ FAILED ] GeneratedTests.max_pool_float_2
[ FAILED ] GeneratedTests.max_pool_float_3
[ FAILED ] GeneratedTests.max_pool_quant8_1
[ FAILED ] GeneratedTests.max_pool_quant8_2
[ FAILED ] GeneratedTests.max_pool_quant8_3
```
- AvgPool2D
```
$ NEON=1 LD_LIBRARY_PATH=Product/out/lib Product/out/unittest/runtime_run_android_nn_test --gtest_filter=GeneratedTests.avg_pool*
[ OK ] GeneratedTests.avg_pool_float_5 (42 ms)
[ OK ] GeneratedTests.avg_pool_quant8_5 (1 ms)
...
[==========] 10 tests from 1 test case ran. (50 ms total)
[ PASSED ] 2 tests.
[ FAILED ] 8 tests, listed below:
[ FAILED ] GeneratedTests.avg_pool_float_1
[ FAILED ] GeneratedTests.avg_pool_float_2
[ FAILED ] GeneratedTests.avg_pool_float_3
[ FAILED ] GeneratedTests.avg_pool_float_4
[ FAILED ] GeneratedTests.avg_pool_quant8_1
[ FAILED ] GeneratedTests.avg_pool_quant8_2
[ FAILED ] GeneratedTests.avg_pool_quant8_3
[ FAILED ] GeneratedTests.avg_pool_quant8_4
```
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 10:53:50 +0000 (19:53 +0900)]
[neurun] Move and split Plan.h (#2369)
Move and split classes in `internal/Plan.h` into separate files.
- `internal::Plan` to `neurun::codegen::Plan`
- `internal::operand::Context` to `neurun::codegen::operand::Context`
- `internal::op::Sequence` to `neurun::codegen::operation::Sequence`
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 Aug 2018 10:22:24 +0000 (19:22 +0900)]
[neurun] Change namespace for internal operand (#2368)
Change namespace: internal::tflite::operand -> neurun::internal::operand
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 20 Aug 2018 09:37:57 +0000 (18:37 +0900)]
[Generated Test] TC for Concat([4D, 4D, 4D], axis=3) (#2364)
Currently all of generated test for concat fail.
This commit adds a test case for concat with 4D inputs and axis=3 and passes without error.
The purpose of adding this test is to check whether any modification against current concat code works correctly.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 Aug 2018 09:23:21 +0000 (18:23 +0900)]
[neurun] Move internal Object class into internal/operand (#2365)
Move internal Object class from internal/Model.h(cc) to internal/operand/Object.h(cc)
Remove internal/Model.cc
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 Aug 2018 09:09:21 +0000 (18:09 +0900)]
Remove depthwise-xxx tests from skiplist (#2336)
Removed tests :
-GeneratedTests.depthwise_conv2d_float_2
-GeneratedTests.depthwise_conv2d_float_large_2_weights_as_inputs
-GeneratedTests.depthwise_conv2d_float
-GeneratedTests.depthwise_conv2d_float_weights_as_inputs
-GeneratedTests.depthwise_conv2d_quant8_2
-GeneratedTests.depthwise_conv2d_quant8_large
-GeneratedTests.depthwise_conv2d_quant8_large_weights_as_inputs
-GeneratedTests.depthwise_conv2d_quant8
-GeneratedTests.depthwise_conv2d_quant8_weights_as_inputs
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 Aug 2018 07:57:45 +0000 (16:57 +0900)]
[neurun] Move internal Shape class into internal/operand (#2363)
Move internald Shape class from internal/Model.h(cc) to internal/operand/Shape.h(cc)
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 Aug 2018 07:01:05 +0000 (16:01 +0900)]
[neurun] Move internal Data class into internal/operand (#2360)
Move internal Data class from internal/Model.h to internal/operand/Data.h
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 06:08:10 +0000 (15:08 +0900)]
Introduce RNN operation into pureACL (#2359)
This commit introduces RNN operation into purACL.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 20 Aug 2018 05:29:44 +0000 (14:29 +0900)]
tflite_benchmark_model supports `use_nnapi` parameter. (#2337)
Previously tflite_benchmark_model always run models with interpreter only.
Now, it uses nnapi delegate on `use_nnapi=true`
```
LD_LIBRARY_PATH=Product/out/lib Product/out/bin/tflite_benchmark_model \
--graph=../models/mobilenet_quant_v1_224.tflite \
--input_layer="Placeholder" --input_layer_shape="1,224,224,3" \
--num_threads=1 --use_nnapi=true \
```
Note that it is still under development.
Instrument code for each operation is not inserted yet.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 20 Aug 2018 04:43:04 +0000 (13:43 +0900)]
[PureACL] Add NEON Operations (#2343)
PureACL was modified to run CL or NEON operations. (Provide "NEON=1" as env variable to run NEON operations)
Three NEON operations were tested: `Add`, `Sub`, `Mul` (8 generated tests were passed).
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 03:05:57 +0000 (12:05 +0900)]
Fix Shape Constraints of depthwise_conv2d_explicit for quant8 (#2326)
Shape constraints of depthwise_conv2d_explicit was not correct
This commit will apply correct constraints for quant8 and enable below tests
`GeneratedTests.depthwise_conv2d_quant8_large`
`GeneratedTests.depthwise_conv2d_quant8_large_weights_as_inputs`
`GeneratedTests.depthwise_conv2d_quant8`
`GeneratedTests.depthwise_conv2d_quant8_weights_as_inputs`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 20 Aug 2018 02:55:30 +0000 (11:55 +0900)]
Make TopK support 1D, 2D tensor (#2323)
Previous TopK supports 1D only.
This commit makes TopK support 2D also in runtime layer.
(ACL layer PR : https://github.sec.samsung.net/RS7-RuntimeNTools/ComputeLibrary/pull/41)
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 02:55:08 +0000 (11:55 +0900)]
[neurun] Encapsulate Linear IR (#2350)
So far Linear IR was a vector of Node elements but this commit
encapsulates it into a class. Also this commit introduces a new phase
for Graph `LINEARIZED` which indicates that the Graph IR is no longer
valid and all data structures are moved to `Linear` object. For now
nothing is moved yet, but will in the future.
Resolve #2320
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 02:51:02 +0000 (11:51 +0900)]
[neurun] Fix typo in model.cc (#2351)
Fix typo for `or` operation in `src/frontend/model.cc`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 02:22:36 +0000 (11:22 +0900)]
Add logistic_quan_1 quicktest (#2345)
To verify logistic quantizied operation,
add the logistic_quan_1 test in nnapi_quicktest
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 Aug 2018 02:20:23 +0000 (11:20 +0900)]
Do not return fail for test all unittest (#2348)
Do not return fail for test all unittest
Setting exit code makes CI job fail without report
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 02:09:24 +0000 (11:09 +0900)]
[neurun] Add assertion for Graph building methods (#2340)
Add assertions for Graph building method which must be called only in
`BUILDING` phase.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 02:08:29 +0000 (11:08 +0900)]
[neurun] Add lower phase skeleton (#2335)
Add `lower()` method to Graph which changes Graph Phase from MODEL to
LOWERED. However it does not do actual lowering work yet.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 20 Aug 2018 02:08:17 +0000 (11:08 +0900)]
Support quantization for Logistic activate function (#2344)
This patch allows to pass the scale and zeroPoint to backend
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 17 Aug 2018 06:10:55 +0000 (15:10 +0900)]
Modify testcase data for TopK (#2324)
Previous testcases data was already sorted and made some TopK tests passed.
With this commit, testcase uses shuffled (not sorted) data.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 17 Aug 2018 06:03:08 +0000 (15:03 +0900)]
Unify the order of inputs in STRIDED_SLICE operation & Update ACL (#2193)
* Unify the order of inputs in STRIDED_SLICE operation
This commit unifies the order of inputs in STRIDED_SLICE operation.
- add reordering bits of a scalar as the order of inputdata's shape.
- add reordering data of a vector as the order of inputdata's shape.
- unify the order of inputs in STRIDED_SLICE.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Update ACL
This commit updates acl.
- Extend the range in which StridedSlice is supported by cl.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 17 Aug 2018 05:56:57 +0000 (14:56 +0900)]
Modify for testing all unittest (#2288)
Fix `runall` argument type and defualt value
Fix typo `unittestall` to `unittestall_on`
Add running all unittests in `run_unittest.py`
Revise the structure of `run_unittest.py` and `run_unittest.sh` for running all unittests
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 05:35:21 +0000 (14:35 +0900)]
[neurun] Enable operand value setting validation unittest (#2330)
Enable operand value setting validation unittest
- SetOperandValue
- SetOperandValueFromMemory
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 17 Aug 2018 05:21:32 +0000 (14:21 +0900)]
Skip initialization for kernel and bias if their data is null (#2327)
Skip initialization for kernel and bias if their data is null. This
situation happens when kernel's value is set at execution time.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 05:00:23 +0000 (14:00 +0900)]
[neurun] Check invalid offset for setOperandValueFromMemory (#2328)
Check invalid offset value for setOperandValueFromMemory
- offset is memory border over
- offset+length is memory border over
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 17 Aug 2018 04:13:16 +0000 (13:13 +0900)]
Enable multiplier of depthwise_conv2d (#2322)
Since arm compute library 18.05, multiplier of depthwise_conv2d is enabled.
By applying this feature, below tests pass
`GeneratedTests.depthwise_conv2d_float_2`
`GeneratedTests.depthwise_conv2d_float_large_2_weights_as_inputs`
`GeneratedTests.depthwise_conv2d_float`
`GeneratedTests.depthwise_conv2d_float_weights_as_inputs`
`GeneratedTests.depthwise_conv2d_quant8_2`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 17 Aug 2018 04:09:44 +0000 (13:09 +0900)]
[neurun] Introduce codegen::Dumper for debugging (#2325)
Introduce `codegen::Dumper` for debugging which dumps the LIR info in
the order of execution.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 22:19:35 +0000 (07:19 +0900)]
[neurun] Remove legacy operand index (#2315)
* [neurun] Remove legacy operand index
Remove legacy operand index
Use operand index in graph
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Simplify input/output index access
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 09:27:12 +0000 (18:27 +0900)]
[neurun] Check operand index and size before setting value (#2305)
* [neurun] Check operand index and size before setting value
Check operand index is exist
Check operand size before setting value
Define operand object method to get operand size
Return error when index is invalid or length is different with operand size
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Add comment for type
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 09:10:12 +0000 (18:10 +0900)]
[neurun] Remove `internal::operand::Set` (#2314)
Remove unused class `internal::operand::Set` which has been replaced
by `neurun::graph::operand::Set`.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 08:33:41 +0000 (17:33 +0900)]
Support initializing constant matrix(2d type) at compilation time (#2307)
- while initializing matrix at execute time as input/output
is supported, initializing constant matrix(2d type) at
compilation time is not done so far in nnfw.
- initialize constant matrix by using matrix's View, Reader and
Iterator classes at compile time.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 08:10:42 +0000 (17:10 +0900)]
[neurun] Implement DAG Checker (#2312)
A checker that tests if given graph is a directed-acyclic-graph.
If there is a cycle the checker fails, otherwise passes.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 08:10:02 +0000 (17:10 +0900)]
Fix test data of depthwise_conv2d_float_large_2_weights_as_inputs (#2300)
`depthwise_conv2d_float_large_2_weights_as_inputs` is another test version, using same data of `depthwise_conv2d_float_large_2`
This commit will fix the test data to be same
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 07:46:21 +0000 (16:46 +0900)]
[neurun] Remove finish field in ANeuralNetworksModel (#2308)
Remove finish field in ANeuralNetworksModel
Use graph phase to check model building is finished
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 16 Aug 2018 07:46:02 +0000 (16:46 +0900)]
Introduce testcases for reduce mean (#2302)
* Introduce testcases for reduce mean
This commit introduces testcases for reduce_mean operation.
-4D input
-axises (width-height)
-keep dims
These are test cases for RS7-RuntimeNTools/ComputeLibrary#34
related issue:#2003
Signed-off-by: SungJin Choi lotieye.choi@samsung.com
* Modify mean_axis01_2 test case
This commit modifies mean_axis01_2 test case.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 07:06:15 +0000 (16:06 +0900)]
Introduce View, Reader and IndexIterator of Matrix (#2309)
Introduce View, Reader and IndexIterator of Matrix. These classes would
be used for initializing constant matrix.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 04:41:39 +0000 (13:41 +0900)]
Add python script of run_frameworktest (#2085)
This commit will add python script of run_frameworktest
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 16 Aug 2018 02:26:58 +0000 (11:26 +0900)]
Update ACL (#2301)
- Enable QASYMM8 in the CLArithmeticAdditionKernel.
- Extend the range in which StridedSlice is supported for CPU.
- Bugfix of subtensor validation.
- Unify the order of input data in StridedSliceCPU.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 10:14:11 +0000 (19:14 +0900)]
[neurun] Introduce Graph Phase (#2298)
`graph::Graph::Phase` is an enum class that represents which phase the
Graph is at. Since we are going to use `Graph` class for multiple
phases we need this with verification infra.
- Introduce an enum class `graph::Graph::Phase`
- Phase transition when `ANeuralNetworksModel_finish()` is called
- Call verifier from the appropriate place
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 09:00:21 +0000 (18:00 +0900)]
[neurun] Introduce IVerifier interface (#2296)
Introduce IVerifier interface to support various verifications, each
verification can be reused from different graph phases.
This commit also contains a skeleton of `DAGChecker`.
Part of #2247
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 07:54:53 +0000 (16:54 +0900)]
[neurun] Extract TensorMarker to codegen (#2294)
Extract TensorMarker into a separate file and move it to codegen
directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 07:40:26 +0000 (16:40 +0900)]
[neurun] Move operand IObject to backend (#2293)
Move `internal::Object` to `neurun::backend::operand::Object`.
Part of #2286
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 04:52:09 +0000 (13:52 +0900)]
[neurun] Move cpu operand Object to backend (#2289)
Move `internal::cpu::operand::Object` to
`neurun::backend::cpu::operand::Object`.
Part of #2286
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 04:39:28 +0000 (13:39 +0900)]
[neurun] Fix feature to ACL TensorShape conversion (#2290)
Fix feature to ACL TensorShape conversion to set batch value
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 03:47:16 +0000 (12:47 +0900)]
[neurun] Extract Planner to codegen (#2291)
Extract Planner into a separate file and move it to codegen directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
Fix for Max_pool_float_* Gtest Failure (#2283)
This is fix for max_pool_float_*.Batches are now set correctly in arm_compute::tensorshape
Signed-off-by: Shubham <shub98.gupta@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 02:08:25 +0000 (11:08 +0900)]
[neurun] Extract asXX helpers into seperate file (#2278)
* [neurun] Extract asXX casting helpers into Cast.h
This commit extracts asXX casting helpers into Cast.h likes PACL(https://github.sec.samsung.net/STAR/nnfw/blob/master/runtimes/pure_arm_compute/src/internal/arm_compute/Cast.h)
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Change file name/add namespace/seperate source file
* Add empty line
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 02:04:07 +0000 (11:04 +0900)]
Rename `kernel/cpufallback` to `kernel/cpu` (#2282)
Rename the directory to remove inconsistency with namespace name in
the code and backend module(cpu backend is in `backend/cpu`).
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 02:03:32 +0000 (11:03 +0900)]
[neurun] Remove unused internal::Model (#2284)
Now that we replace Model with Graph IR, Model is unused anymore.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 14 Aug 2018 01:42:49 +0000 (10:42 +0900)]
[neurun] Move acl_cl operand Object to backend (#2285)
Move `internal::arm_compute::operand::Object` to
`neurun::backend::acl_cl::operand::Object`.
Part of #2286
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 00:27:51 +0000 (09:27 +0900)]
Fix unittest script to report error (#2280)
Fix unittest script to report error
- Save test result immediately to temporary variable
- We should save result before compare statement
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 13 Aug 2018 11:32:20 +0000 (20:32 +0900)]
[neurun] Remove useless assertion (#2279)
Remove useless assertion
It makes validation check fail on debug build
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 13 Aug 2018 10:23:30 +0000 (19:23 +0900)]
[neurun] Introduce IO::Index (#2272)
* [neurun] Introduce IOIndex/IOIndexSet
Close : #2257
This commit introduce IOIndex/IOIndexSet.
`IOIndex` is the indices for ANeuralNetworksModel_identifyInputsAndOutputs() API.
`IOIndexSet` is accessible only using with `IOIndex`.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Revert some codes
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 13 Aug 2018 10:23:19 +0000 (19:23 +0900)]
Test driver: Test all unittest option (#2274)
Add new option to run all unittest
- Ignore skiplist
- Get test list using gtest option
- Test each unittest item using filter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 13 Aug 2018 10:23:05 +0000 (19:23 +0900)]
[neurun] Remove unused TensorSetter define (#2275)
This commit removes unused `TensorSetter` function define.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 13 Aug 2018 10:22:31 +0000 (19:22 +0900)]
[neurun] Extract PlanBuilder into a separate file (#2276)
Extract PlanBuilder into a separate file and move it to codegen
directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 13 Aug 2018 09:17:07 +0000 (18:17 +0900)]
[neurun] Extract BackendResolver into a separate file (#2273)
Extract BackendResolver into a separate file and move it to codegen
directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 13 Aug 2018 09:11:49 +0000 (18:11 +0900)]
Introduce reduce mean operation for pure acl runtime (#2256)
* Rebase on master instead of merging
This commit does rebase on master instead of merging.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* Fix and modify a typo
This commit fixes a typo
- axises => axis
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 13 Aug 2018 01:58:26 +0000 (10:58 +0900)]
[neurun] Extract IPlanBuilder into a separate file (#2261)
Extract IPlanBuilder into a separate file and move it to codegen
directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 10 Aug 2018 07:46:18 +0000 (16:46 +0900)]
[neurun] Move directory of backend interfaces (#2250)
Move backend interfaces to `backend` from `internal`.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 10 Aug 2018 06:23:19 +0000 (15:23 +0900)]
Update proxy settings for arm cross build docs (#2255)
This will update proxy settings for arm cross build documents
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 10 Aug 2018 06:22:33 +0000 (15:22 +0900)]
Remove unused apt_proxy (#2253)
This will remove not used anymore apt_proxy file while building arm rootfs
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 10 Aug 2018 01:52:57 +0000 (10:52 +0900)]
[neurun] Apply Graph IR (#2244)
This commit replaces `internal::tflite::Model` with
`neurun::graph::Graph`.
Resolve #2155
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
Specify setproxy option in build_rootfs (#2053)
Specify setproxy option with IP address value as argument instead of skipproxy option.
The ipaddress specified with be the actual proxy server.
example: ./build_rootfs.sh setproxy=<IP address of the proxy server>
Signed-off-by: Praveen D N <praveen.dn@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 Aug 2018 11:01:58 +0000 (20:01 +0900)]
Don't formatcheck tools/tflite_benchmark_model with .FORMATDENY (#2242)
Use .FORMATDENY (#2238) to skip formatcheck tools/tflite_benchmark_model.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 9 Aug 2018 09:59:59 +0000 (18:59 +0900)]
[neurun] Extract Plan and related classes from arm_compute namespace (#2239)
This commit extracts Plan and related classes from arm_compute namespace into ::internal.
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 9 Aug 2018 09:44:48 +0000 (18:44 +0900)]
Fix setting in config_aarch64-linux.cmake (#2245)
- aarch64-linux-gnu-g*5 -> aarch64-linux-gnu-g*
- proper rootfs path
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 9 Aug 2018 09:05:36 +0000 (18:05 +0900)]
Modify the quantization info to pass pureacl runtime in broadcast case. (#2098)
This commit modifies the quantization info to pass pureacl runtime in broadcast case.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 9 Aug 2018 07:58:20 +0000 (16:58 +0900)]
Make format-checker pushd/popd quiet (#2241)
Now that we have too many pushd/popd logs this commit makes it not to
print any messages from pushd/popd.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 9 Aug 2018 07:54:14 +0000 (16:54 +0900)]
[neurun] Fix test directory structure (#2240)
Move graph test sources to `test/graph` so it will look identical to
`src` directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 Aug 2018 07:07:58 +0000 (16:07 +0900)]
Introduce .FORMATDENY (#2238)
Put .FORMATDENY in directory that you don't want to check style.
Note: Please don't make ambiguous situation.
e.g.)
```
- A
+- .FORMATCHECKED
+- B
+- FORMATDENY
+- C
+- FORMATCHECKED
```
Related issue: #2233
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 9 Aug 2018 06:52:30 +0000 (15:52 +0900)]
Update test_driver.py script (#2210)
Replace `optparse` to `argparse`
Replace `os._exit()` to `sys.exit()`
Remove `TODO : Handle Return Value`
Add exception handling for `artifactpath`
Add `reportdir` parameter and modify related codes
Modify some conditions of checking parameters
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 Aug 2018 06:17:20 +0000 (15:17 +0900)]
Add tflite_benchmark_model sources (#2231)
Sources are copied from tensorflow/contrib/lite/tools/benchmark from
v1.9.0-rc2. Then, I modified the followings:
- Namespace is changed
(tflite -> nnfw)
- Header guard is also changed
- Header include path is adjusted
(include tensorflow/contrib/lite/profiling/* -> include *)
- Add proper qualification to fix build error (string -> std::string)
- Prepend license for sources under tflite_benchmark_model
In addition, tools/CMakeLists.txt is modified to build tflite_benchmark_model
when `BUILD_TFLITE_BENCHMARK_MODEL` is defined.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>