김수진/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 06:31:19 +0000 (15:31 +0900)]
[neurun] Use correct scale for Softmax (#2433)
This commit uses correct scale for Softmax likes #1728.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 Aug 2018 06:09:57 +0000 (15:09 +0900)]
[neurun] Use internal data type in CPU backend (#2432)
Define convert function to make CPU backend shape from graph operand
Use internal data type to make backend shape
Change CPU backend interface to use backend shape instead of graph shape
Change CPU backend operation to save input data type
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 05:17:49 +0000 (14:17 +0900)]
Pass initing weight and bias on compilation time if data is null (#2427)
Fc's weight and bias can be passed on execution time not only model time.
these generated tests can be fixed as workaround method.
- fully_connected_quant8_weights_as_inputs
- fully_connected_quant8_large_weights_as_inputs
This should be fixed structurally on neuron runtime.
Ref: https://github.sec.samsung.net/STAR/nnfw/issues/2319
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 05:17:31 +0000 (14:17 +0900)]
Add comment for skipping fully_connected_quant8_2 of GeneratedTests (#2426)
Add comment for the reason why skip fully_connected_quant8_2 of
GeneratedTests. It's because the GeneratedTests.fully_connected_quant8_2
code is wrong. Skip this test as is if the test code is not fixed.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 Aug 2018 04:56:25 +0000 (13:56 +0900)]
[neurun] Use internal data type in cpu InitializeGenerator (#2428)
Define getter for internal data type
Use internal data type in cpu InitializeGenerator instead of shape
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 04:44:59 +0000 (13:44 +0900)]
Avoid compile warning of narrowing uint32_t (#2429)
When compilation.cc is compiled, warning message prints about narrowing
uint32_t -> int32_t. The code doesn't matter whether the vars are uint32_t
or int32_t.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 04:43:47 +0000 (13:43 +0900)]
Modify gather operation and testdata (#2407)
`GeneratedTests.gather_1D_uint8` and `GeneratedTests.gather_2D_uint8` are tests for `gather` operation using quant8 type
However, despite not correctly given test data format, two tests are passed because of weak dataset
And more seriously, `gather` operation do not support quant8 yet
Therefore we should disable the two tests
- Modify `_uint8` to `_quant8` in test name
- Modify test data for `GeneratedTests.gather_1D_uint8` and `GeneratedTests.gather_2D_uint8`
- Disable `GeneratedTests.gather_1D_uint8` and `GeneratedTests.gather_2D_uint8`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 04:05:49 +0000 (13:05 +0900)]
Enable GeneratedTests.relu* tests (#2420)
Remove below testcases in skip list:
GeneratedTests.relu6_float_2
GeneratedTests.relu_float_2
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 04:05:32 +0000 (13:05 +0900)]
Update with supporting LOGISTIC quantization (#2422)
* Enable QASYMM8 in LOGISTIC of CLActivationLayerKernel. (#42)
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 03:46:20 +0000 (12:46 +0900)]
Enable GeneratedTests.rnn* tests (#2423)
This commit enables GeneratedTests.rnn* tests.
Remove below testcases in skip list:
GeneratedTests.rnn
GeneratedTests.rnn_state
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 23 Aug 2018 02:11:09 +0000 (11:11 +0900)]
Handle multi-step operator's profile data (#2414)
- Add profiler_summarizer in tools/tfite_benchmark_model
profile_summarizer must understand multi-step expansion for
pureACL runtime. So I need to introduce our own profiler_summarizer
which is based on original tflite_benchmark_model's profiler_summarizer.
- Handle multi-step operator's profile data
Now, it can handle multi step expanded operators.
The only modifications are in profile_summarizer.cc's ProcessProfiles().
You can do diff with tensorflow-v1.9.0-rc2.
Related Issue: #2376, #1696
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 01:31:29 +0000 (10:31 +0900)]
Enable GeneratedTests.floor_ test (#2418)
Remove the GeneratedTests.floor_ testcase in skip list.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 Aug 2018 01:25:30 +0000 (10:25 +0900)]
[neurun] Set type info in internal operand (#2416)
* [neurun] Set type info in internal operand
Assign TypeInfo into internal operand.
It is duplicated data with shape yet.
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix format and remove global namespace prefix
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 22 Aug 2018 10:03:51 +0000 (19:03 +0900)]
pureACl profiler keeps track of operator's index (#2412)
Some operators in model are expanded into multiple Steps.
To analyze the profile data, it need to keep track of operator index
to interpreter op's.
Now, we know where the ACL kernel is generated by seeing Step's _op_idx
member.
Related Issue: #2376
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
윤현식/동작제어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>