장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 06:54:50 +0000 (15:54 +0900)]
Add sourcing tensor more than 5 dimensions (#2529)
This commit adds sourcing tensor more than 5 dimensions.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 06:51:43 +0000 (15:51 +0900)]
[neurun] Introduce SimpleMockNode for Graph test (#2536)
Introduce SimpleMockNode as a header file so it can be reused from
many tests.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 31 Aug 2018 06:21:49 +0000 (15:21 +0900)]
[neurun] Define use & def in operand (#2541)
- Define use & def in operand
- Define base methods to append & remove
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 31 Aug 2018 03:55:34 +0000 (12:55 +0900)]
Add assertion in ToARMCompute function (#2540)
This commit prevents a segfault from wrong access.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 22:23:31 +0000 (07:23 +0900)]
Unify to use one function of asTensorShape() and asTensorInfo() (#2471)
* Unify to use one function of asTensorShape() and asTensorInfo()
This commit unifies to use one function(no overloading) of asTensorShape() and asTensorInfo().
- Export asTensorShape() out of asTensorInfo() to apply conditionally dimension correction.
- Unify to use one function to eliminate unnecessary complexity.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Remove unused overloading functions
This commit remove unused overloading functions.
- asTensorInfo()
- asTensorShape()
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 09:47:46 +0000 (18:47 +0900)]
Update tensorflow register file (#2531)
These operators are supported by Tensorflow v1.9.0
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:13:18 +0000 (17:13 +0900)]
Return nullptr for InitRSQRT (#2533)
Return nullptr for InitRSQRT to avoid svace warning
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김수진/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 08:12:57 +0000 (17:12 +0900)]
[neurun] Remove remain common tensor codes (#2528)
This commit removes remain common tensor codes.
Signed-off-by: sjsujinkim <sjsujin.kim@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 08:12:41 +0000 (17:12 +0900)]
[neurun] Move Op.lst to graph/operation (#2530)
Move the file Op.lst to graph/operation from internal/op.
Now we no longer have any files in internal/op.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 08:12:03 +0000 (17:12 +0900)]
[neurun] Define operation index list (#2532)
Define operation index list (used for use-def)
Use list to support frequent append & remove
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 07:51:27 +0000 (16:51 +0900)]
[neurun] Enable compile option Wall/Wextra/Werror (#2517)
To keep our code clean, let us introduce those compile options.
- Wall : Enable most(not exactly all) of compiler warnings
- Wextra : Enable extra compiler warnings
- Werror : Treat warnings as error
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 30 Aug 2018 07:02:30 +0000 (16:02 +0900)]
[neurun] Move internal/operand to graph/operand (#2520)
Move internal/operand to graph/operand
Change namespace neurun::internal::operand to neurun::graph::operand
Remove internal/operand
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 06:58:58 +0000 (15:58 +0900)]
Remove all fc tests of generated tests from skiplist (#2527)
- V1_0/fully_connected_float_1_nnfw
- V1_0/fully_connected_quant8_2
- V1_1/fully_connected_float_4d_simple
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 05:00:04 +0000 (14:00 +0900)]
Introduce GenericFullyConnectedLayer for fc (#2525)
4d fc tests of GeneratedTests are failed because runtimes can't
guess 4d input to 2d so far. This GenericFullyConnectedLayer handles the
case.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 01:41:31 +0000 (10:41 +0900)]
Enable concat-related generatedTests (#2523)
All concat generatedTests work normally after merging #2494
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 30 Aug 2018 01:02:46 +0000 (10:02 +0900)]
[neurun] Remove internal::op nodes (#2519)
Remove Nodes in the namespace internal::op and some classes related to
those nodes.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 09:01:43 +0000 (18:01 +0900)]
[neurun] Fix build break (#2521)
Fix build break which is due to invalid shape_index of Reshape
operation.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:55:21 +0000 (16:55 +0900)]
[neurun] Remove TensorMarker (#2515)
Now that we have interface `getInputs()` and `getOutputs()` in
operation Node, we do not need to implement TensorMarker for each
Node.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:54:03 +0000 (16:54 +0900)]
[neurun] Fix Reshape operation (#2516)
shape_index is a tensor paramenter so it should be one of the inputs.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 29 Aug 2018 07:49:46 +0000 (16:49 +0900)]
Update runtime build in Makefile (#2518)
Update runtime build in Makefile to build neurun with purecl
It will be used for svace
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:37:42 +0000 (16:37 +0900)]
Support the broadcast of all cases (#2511)
* Support the broadcast of all cases
This commit supports the broadcast of all case.
- Add Extending the rank of operand.
- Apply the bradcast to the arithmetic operations.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Remove unnecessary residual codes related to the broadcast
This commit removes unnecessary residual codes related to the broadcast.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Wed, 29 Aug 2018 07:12:17 +0000 (16:12 +0900)]
Support CONCAT for all dimensions and all axes (#2494)
This commit is similar with SPLIT implementation.
In order to avoid unnecessary copy around data,
it uses shared memory information.
It does not u se separate ACL function like SPLIT.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
nnfw: RSQRT nnapi delegate and Custom ops addition. (#2472)
* nnfw: RSQRT nnapi delegate and Custom ops addition.
These patch adds changes for RSQRT in nnapi_delegate
and also adds related CustomOps changes.
RSQRT kernel has been added.
Signed-off-by: Tanuj Tekriwal <tanuj.tekri@samsung.com>
* nnfw: Add pure_arm_compute layer for RSQRT
This patch adds the pure_arm_compute layer for RSQRT.
Related ACL changes to be added in different patch.
Signed-off-by: Tanuj Tekriwal <tanuj.tekri@samsung.com>
이한종/동작제어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>