이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 05:41:05 +0000 (14:41 +0900)]
[neurun] Update Dumper class (#2513)
As we have unified graph operation nodes, this commit updates class
`Dumper` accordingly.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 02:29:59 +0000 (11:29 +0900)]
Add an initializer for 3D tensor (#2487)
This commit adds initializer for 3D tensor.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 02:16:27 +0000 (11:16 +0900)]
Enable to check state of compilation in pureacl (#2439)
This commit will enable to check if compilation is finished or not
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:45:03 +0000 (10:45 +0900)]
[neurun] Merge graph node classes (#2497)
Merge Old Node into New Node.
Old Node : `internal::tflite::op::Node`
New Node : `neurun::graph::operation::Node`
- struct `Param` for each Node holds non-tensor parameters only
- Tensor parameters are stored in `_inputs` and `_outputs`
- Provide a default implementation of get/setters for inputs and
outputs of `Node`
- `NodeVisitors` are now for New Node, not Old Node
- class `Linear` now holds New Node rather than Old Node
This commit completes the draft commit #2479, with #2483 and #2486
which were already merged.
Resolve #2404
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:44:28 +0000 (10:44 +0900)]
[neurun] Move CPU Tensor implementation to backend (#2509)
Move `internal/cpu.{h|cc}` to cpu backend directory.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:33:33 +0000 (10:33 +0900)]
Fix axis calculation of TensorSource from reversing to using ToARMComputeAxis (#2481)
This commit Fix axis calculation of TensorSource from reversing to using ToARMComputeAxis.
Supported tensor rank of TensorSource:
1D ~ 3D : reversing
more than 4D : ...NHWC -> WHCN...
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 01:31:11 +0000 (10:31 +0900)]
Update arm ComputeLibrary version (#2508)
Update ComputeLibrary to rebased version instead of merged one.
Note that this has zero diff, but removed merge commit.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 00:49:48 +0000 (09:49 +0900)]
[neurun] Add insertOperation in graph (#2424)
* [neurun] Add insertOperation in graph
This commit adds insertOperation which inserts between 2 operations in graph.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* some change test operand
* remove unused declaration
* get a pair of operand and operation index as parameter
* Add todo comment into insertOperation
* Change pair to seperate params
* Revise insertion test
* fix format
* Remove unused utility include
* rebase
* Change test comment
* Remove test header
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 10:34:36 +0000 (19:34 +0900)]
Prepare reshaping input(rank-4) into rank-2 on fc (#2505)
When input which has rank 4 as fc's input comes, it needs to be reshaped
into rank 2. This commit prepares the task by skeleton code and checking
input_size, output_size and batch_size
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 28 Aug 2018 09:47:04 +0000 (18:47 +0900)]
Change submodule tensorflow (#2504)
tensorflow/nnfw1.9 branch has force-pushed. This commit changes tensorflow submodule hash.
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 08:42:47 +0000 (17:42 +0900)]
[neurun] Use `Index::value()` for `operation::Set` (#2499)
Use `Index::value()` method rather than `asInt()`. Note that `asInt()`
returns int32_t, `value()` return uint32_t.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 06:41:03 +0000 (15:41 +0900)]
Fix to check operands in detail (#2374)
Validation of scale and zeroPoint would be skipped for a while.
We do not know whether scalar type can have scale and zeroPoint.
To pass ValidationTest and GeneratedTest, this validation code would not be implemented until we can define this issue clearly.
Except that, this commit will enable check operands in detail
- Add checking scale and zeropoint in `quant8` type
- Add checking dimensionCount for scalars
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 05:55:34 +0000 (14:55 +0900)]
Fix setting TensorInfo to wrong shape in FullyConnected. (#2496)
This commit fixes setting TensorInfo to wrong shape in FullyConnected.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 28 Aug 2018 02:18:18 +0000 (11:18 +0900)]
Update skiplist for linux and tizen (#2466)
1. update skiplist on c0860ad
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 02:17:54 +0000 (11:17 +0900)]
Remove unnecessary a condition. (#2476)
This commit removes unnecessary a condition.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 01:30:03 +0000 (10:30 +0900)]
Reduce unnecessary casting from template class for data (#2473)
This commit reduces unnecessary casting from template class for data.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 01:02:20 +0000 (10:02 +0900)]
[neurun] Rename operation get/setter for in/output (#2486)
Rename operation for operation input/output's getter and setter
- `val inputs()` to `getInputs`
- `void inputs(val)` to `setInputs`
- `val outputs()` to `getOutputs`
- `void outputs(val)` to `setOutputs`
If there is multiple methods with same name, and one of them is
overriden, the compiler cannot find the other methods. For more,
please refer to https://stackoverflow.com/questions/
15451020/can-i-override-only-one-method-in-inheritence
For the actual usage of our case, please refer to #2479.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 28 Aug 2018 00:54:33 +0000 (09:54 +0900)]
[neurun] NodeVisitor argument as rvalue ref (#2483)
Edit `graph::operation::Node::accept` method to accept rvalue
reference instead of lvalue reference.
Find the usage from #2479.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 11:00:36 +0000 (20:00 +0900)]
[neurun] Remove verbose template param from Index (#2484)
Remove unnecessary template parameter from class `Index`.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 09:28:09 +0000 (18:28 +0900)]
Implement Split operator (#2448)
* Implement Split operator
Split operator is implemented using CLSubTensor.
In order to avoid unnecessary copy around data,
it uses shared memroy information.
It does not use separate ACL function.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Handle negative axis case on Split operator
This commit handles a negative axis case on Split operator.
If the axis is negative, it updates the axis value by input tensor's rank.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Remove default parameter of derived class
To avoid setting different default parameters between parent and derived class,
this commit removes the default paramter of derived class.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 09:27:41 +0000 (18:27 +0900)]
Fix a typo of comment in Swizzle.h (#2485)
This commit fixes a typo of comment in Swizzle.h
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 04:51:38 +0000 (13:51 +0900)]
Enable to pass ValidationTestModel.CreateCompilation in pureacl (#2474)
If building model is not finished, compilation cannot be created
- Add checking if building model is finished or not
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 04:24:45 +0000 (13:24 +0900)]
[neurun] Add runtime error for no tested quant8 cpu kernels (#2475)
This commit adds runtime error for no tested quant8 cpu kernels.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 02:39:44 +0000 (11:39 +0900)]
[neurun] Enable convolution quant8 for cpu (#2434)
This commit enables convolution quant8 for cpu.
Just copied from android NN codes using tflite like any other cpu kernels.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 02:15:52 +0000 (11:15 +0900)]
[neurun] Change data structure of Set to map (#2417)
* [neurun] Change data structure of Set to map
This commit changes data structure of `Set` to map for more efficient graph manipulation.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
* Change maximum bound of index count
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 27 Aug 2018 01:43:20 +0000 (10:43 +0900)]
Modify topkV2 testdata and rename test name (#2425)
`GeneratedTests.topk_v2_1D_uint8` and `GeneratedTests.topk_v2_2D_uint8` are tests for `topkV2` operation using quant8 type
However, despite not correctly given test data format, two tests are passed because of weak dataset
- Modify `_uint8` to `_quant8` in test name
- Modify test data information of quant8 for `GeneratedTests.topk_v2_1D_uint8` and `GeneratedTests.topk_v2_2D_uint8`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 27 Aug 2018 01:34:59 +0000 (10:34 +0900)]
Enable explicit Conv2D on pureacl NEON runtime (#2470)
- Enable explicit Conv2D on pureacl NEON runtime
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 27 Aug 2018 01:34:13 +0000 (10:34 +0900)]
[neurun] Remove type info in shape (#2444)
* [neurun] Remove type info in shape
Remove type info and API in shape
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove out-dated comments
Transpose op for spatial dimensions (height-width) (#2371)
* Transpose op for spatial dimensions (height-width)
Implemented transpose applicable along height-width axis
This is a specific permutation corresponding to vector [0,2,1,3]
Generic transposition requires CL permute which may be slower
Next patch will have generic transpose with permute.
Signed-off-by: Vishal Keshav <vishal.k1@samsung.com>
* Updated compilation with comments and TODO
Added comments and TODO
Signed-off-by: Vishal Keshav <vishal.k1@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 Aug 2018 09:06:06 +0000 (18:06 +0900)]
Enable Explicit MaxPool2d on pureacl NEON runtime (#2468)
- Enable Explicit MaxPool2d on pureacl NEON runtime
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 Aug 2018 09:05:57 +0000 (18:05 +0900)]
Enable Explicit Avgpool2d on pureacl NEON runtime (#2469)
- Enable Explicit Avgpool2d on pureacl NEON runtime
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 07:03:47 +0000 (16:03 +0900)]
Enable GeneratedTests.logistic_quant8_* tests (#2419)
Remove below testcases in skip list:
GeneratedTests.logistic_quant8_1
GeneratedTests.logistic_quant8_2
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 07:00:05 +0000 (16:00 +0900)]
Add nnapi delegation of Split (#2462)
Add nnapi delegation of Split
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 03:46:10 +0000 (12:46 +0900)]
[neurun] Introduce contains in IndexSet (#2457)
This commit introduces contains helper in IndexSet for checking if index of operand is exist.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:30:13 +0000 (11:30 +0900)]
Add nnapi_quickcheck for split operator (multi-dimension) (#2449)
Add below testcases for split operator:
NNAPI_Quickcheck_split_2.simple_test (4 rank, 2 axis)
NNAPI_Quickcheck_split_3.simple_test (2 rank, 1 axis)
NNAPI_Quickcheck_split_4.simple_test (2 rank, 0 axis)
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:29:01 +0000 (11:29 +0900)]
Enable to pass ValidationTestModel.Finish in pureacl (#2454)
- Add checking if building model is finished or not
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:28:46 +0000 (11:28 +0900)]
Enable to pass ValidationTestModel.AddOperation in pureacl (#2451)
In `ValidationTestModel.AddOperation`, if inputs or outputs are `nullptr`, it is always error even if `inputCount` and `outputCount` is zero.
This commit will modify those conditions, and add some checkings to pass the test.
- Modify `nullptr` check condition
- Add checking if building model is finished or not
- Add checking if type is invalid or not
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:27:54 +0000 (11:27 +0900)]
Enable to pass ValidationTestModel.identifyInputsAndOutputs in pureacl (#2452)
- Add checking if building model is finished or not
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 24 Aug 2018 02:24:49 +0000 (11:24 +0900)]
Introduce Split operation into pureACL runtime (#2447)
* Introduce Split operation into pureACL runtime
This commit introduces Split operation into pureACL runtime.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Remove num_split_index of Split operator
The `num_split_index` is always the same with the number of output.
So it can be omitted.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 10:54:30 +0000 (19:54 +0900)]
Revert "Add comment for skipping fully_connected_quant8_2 of GeneratedTests (#2426)" (#2443)
This reverts commit
3e32b4fda06ec739eeb078ee2b1dc7f86b616cc6.
According to V1_1's fully_connected_float_4d_simple's comment, this test
is not wrong. The shape can be guessed by output. The test is not wrong,
so this revert is needed.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 23 Aug 2018 10:43:18 +0000 (19:43 +0900)]
Update model.cpp of depthwise_conv2d (#2441)
By #2300, `depthwise_conv2d_float_large_2_weights_as_inputs` was modified
But it was not the result of `generate_test.sh`, it was my own modification
This commit will apply the result of `generate_test.sh`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 23 Aug 2018 10:42:55 +0000 (19:42 +0900)]
PureACL handles operators that generate no kernel (e.g. CONCATENATION) (#2437)
Related Issue: #2431
Dummy stage instance is added for `CONCATENATION` because Profiler assumes
every op inserts a stage.
The output will not show `CONCATENATION` slot because it is based on
runtime execution event. There was no event for `CONCATENATION` at runtime.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 Aug 2018 08:33:25 +0000 (17:33 +0900)]
[neurun] Change internal datatype enum name (#2435)
Change enum name used for neurun internal data type
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김수진/동작제어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>