From f39257f0f152f4102362c9eaf13a646a801c8cb4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=82=A8=EA=B6=81=EC=84=9D/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Engineer/=EC=82=BC=EC=84=B1=EC=A0=84?= =?utf8?q?=EC=9E=90?= Date: Thu, 23 Aug 2018 13:43:47 +0900 Subject: [PATCH] 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 --- .../generated/all_generated_tests.cpp | 36 +++++++++++----------- ...t8.example.cpp => gather_1D_quant8.example.cpp} | 4 +-- ...t8.example.cpp => gather_2D_quant8.example.cpp} | 4 +-- ..._uint8.model.cpp => gather_1D_quant8.model.cpp} | 4 +-- ..._uint8.model.cpp => gather_2D_quant8.model.cpp} | 4 +-- .../runtime_run_android_nn_test.skip.armv7l-linux | 2 ++ .../runtime_run_android_nn_test.skip.armv7l-tizen | 2 ++ .../runtime_run_android_nn_test.skip.x86_64-linux | 2 ++ ...her_1D_uint8.mod.py => gather_1D_quant8.mod.py} | 8 ++--- ...her_2D_uint8.mod.py => gather_2D_quant8.mod.py} | 14 ++++----- 10 files changed, 43 insertions(+), 37 deletions(-) rename runtimes/tests/neural_networks_test/generated/examples/{gather_1D_uint8.example.cpp => gather_1D_quant8.example.cpp} (91%) rename runtimes/tests/neural_networks_test/generated/examples/{gather_2D_uint8.example.cpp => gather_2D_quant8.example.cpp} (82%) rename runtimes/tests/neural_networks_test/generated/models/{gather_1D_uint8.model.cpp => gather_1D_quant8.model.cpp} (86%) rename runtimes/tests/neural_networks_test/generated/models/{gather_2D_uint8.model.cpp => gather_2D_quant8.model.cpp} (86%) rename runtimes/tests/neural_networks_test/specs/Ex/{gather_1D_uint8.mod.py => gather_1D_quant8.mod.py} (66%) rename runtimes/tests/neural_networks_test/specs/Ex/{gather_2D_uint8.mod.py => gather_2D_quant8.mod.py} (57%) diff --git a/runtimes/tests/neural_networks_test/generated/all_generated_tests.cpp b/runtimes/tests/neural_networks_test/generated/all_generated_tests.cpp index 388828d..da475b3 100644 --- a/runtimes/tests/neural_networks_test/generated/all_generated_tests.cpp +++ b/runtimes/tests/neural_networks_test/generated/all_generated_tests.cpp @@ -2927,18 +2927,18 @@ TEST_F(GeneratedTests, gather_1D_int32) { gather_1D_int32::examples); } -namespace gather_1D_uint8 { +namespace gather_1D_quant8 { std::vector examples = { -// Generated gather_1D_uint8 test -#include "generated/examples/gather_1D_uint8.example.cpp" +// Generated gather_1D_quant8 test +#include "generated/examples/gather_1D_quant8.example.cpp" }; // Generated model constructor -#include "generated/models/gather_1D_uint8.model.cpp" -} // namespace gather_1D_uint8 -TEST_F(GeneratedTests, gather_1D_uint8) { - execute(gather_1D_uint8::CreateModel, - gather_1D_uint8::is_ignored, - gather_1D_uint8::examples); +#include "generated/models/gather_1D_quant8.model.cpp" +} // namespace gather_1D_quant8 +TEST_F(GeneratedTests, gather_1D_quant8) { + execute(gather_1D_quant8::CreateModel, + gather_1D_quant8::is_ignored, + gather_1D_quant8::examples); } namespace gather_2D_float { @@ -2969,18 +2969,18 @@ TEST_F(GeneratedTests, gather_2D_int32) { gather_2D_int32::examples); } -namespace gather_2D_uint8 { +namespace gather_2D_quant8 { std::vector examples = { -// Generated gather_2D_uint8 test -#include "generated/examples/gather_2D_uint8.example.cpp" +// Generated gather_2D_quant8 test +#include "generated/examples/gather_2D_quant8.example.cpp" }; // Generated model constructor -#include "generated/models/gather_2D_uint8.model.cpp" -} // namespace gather_2D_uint8 -TEST_F(GeneratedTests, gather_2D_uint8) { - execute(gather_2D_uint8::CreateModel, - gather_2D_uint8::is_ignored, - gather_2D_uint8::examples); +#include "generated/models/gather_2D_quant8.model.cpp" +} // namespace gather_2D_quant8 +TEST_F(GeneratedTests, gather_2D_quant8) { + execute(gather_2D_quant8::CreateModel, + gather_2D_quant8::is_ignored, + gather_2D_quant8::examples); } namespace tensorflowmax_ex_2D_float { diff --git a/runtimes/tests/neural_networks_test/generated/examples/gather_1D_uint8.example.cpp b/runtimes/tests/neural_networks_test/generated/examples/gather_1D_quant8.example.cpp similarity index 91% rename from runtimes/tests/neural_networks_test/generated/examples/gather_1D_uint8.example.cpp rename to runtimes/tests/neural_networks_test/generated/examples/gather_1D_quant8.example.cpp index 398a672..d633f0c 100644 --- a/runtimes/tests/neural_networks_test/generated/examples/gather_1D_uint8.example.cpp +++ b/runtimes/tests/neural_networks_test/generated/examples/gather_1D_quant8.example.cpp @@ -8,7 +8,7 @@ // int -> INT32 map {{1, {2, 0}}}, // int -> QUANT8_ASYMM map - {{0, {3, 4, 5, 6}}} + {{0, {7, 9, 11, 13}}} }, //Output(s) { // See tools/test_generator/include/TestHarness.h:MixedTyped @@ -17,6 +17,6 @@ // int -> INT32 map {}, // int -> QUANT8_ASYMM map - {{0, {5, 3}}} + {{0, {11, 7}}} } }, // End of an example diff --git a/runtimes/tests/neural_networks_test/generated/examples/gather_2D_uint8.example.cpp b/runtimes/tests/neural_networks_test/generated/examples/gather_2D_quant8.example.cpp similarity index 82% rename from runtimes/tests/neural_networks_test/generated/examples/gather_2D_uint8.example.cpp rename to runtimes/tests/neural_networks_test/generated/examples/gather_2D_quant8.example.cpp index f9b9af7..b232d91 100644 --- a/runtimes/tests/neural_networks_test/generated/examples/gather_2D_uint8.example.cpp +++ b/runtimes/tests/neural_networks_test/generated/examples/gather_2D_quant8.example.cpp @@ -8,7 +8,7 @@ // int -> INT32 map {{1, {2, 0}}}, // int -> QUANT8_ASYMM map - {{0, {3, 4, 5, 6, 7, 8, 9, 1, 2, 18, 19, 11}}} + {{0, {7, 9, 11, 13, 15, 17, 19, 3, 5, 37, 39, 23}}} }, //Output(s) { // See tools/test_generator/include/TestHarness.h:MixedTyped @@ -17,6 +17,6 @@ // int -> INT32 map {}, // int -> QUANT8_ASYMM map - {{0, {2, 18, 19, 11, 3, 4, 5, 6}}} + {{0, {5, 37, 39, 23, 7, 9, 11, 13}}} } }, // End of an example diff --git a/runtimes/tests/neural_networks_test/generated/models/gather_1D_uint8.model.cpp b/runtimes/tests/neural_networks_test/generated/models/gather_1D_quant8.model.cpp similarity index 86% rename from runtimes/tests/neural_networks_test/generated/models/gather_1D_uint8.model.cpp rename to runtimes/tests/neural_networks_test/generated/models/gather_1D_quant8.model.cpp index 876fc2a..4984c16 100644 --- a/runtimes/tests/neural_networks_test/generated/models/gather_1D_uint8.model.cpp +++ b/runtimes/tests/neural_networks_test/generated/models/gather_1D_quant8.model.cpp @@ -2,8 +2,8 @@ void CreateModel(Model *model) { OperandType type2(Type::INT32, {}); OperandType type1(Type::TENSOR_INT32, {2}); - OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2}); - OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}); + OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2}, 0.5f, 1); + OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4}, 0.5f, 1); // Phase 1, operands auto op1 = model->addOperand(&type0); auto op2 = model->addOperand(&type1); diff --git a/runtimes/tests/neural_networks_test/generated/models/gather_2D_uint8.model.cpp b/runtimes/tests/neural_networks_test/generated/models/gather_2D_quant8.model.cpp similarity index 86% rename from runtimes/tests/neural_networks_test/generated/models/gather_2D_uint8.model.cpp rename to runtimes/tests/neural_networks_test/generated/models/gather_2D_quant8.model.cpp index 5c56a3d..d7aa0ab 100644 --- a/runtimes/tests/neural_networks_test/generated/models/gather_2D_uint8.model.cpp +++ b/runtimes/tests/neural_networks_test/generated/models/gather_2D_quant8.model.cpp @@ -2,8 +2,8 @@ void CreateModel(Model *model) { OperandType type2(Type::INT32, {}); OperandType type1(Type::TENSOR_INT32, {2}); - OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2,4}); - OperandType type0(Type::TENSOR_QUANT8_ASYMM, {3,4}); + OperandType type3(Type::TENSOR_QUANT8_ASYMM, {2,4}, 0.5f, 1); + OperandType type0(Type::TENSOR_QUANT8_ASYMM, {3,4}, 0.5f, 1); // Phase 1, operands auto op1 = model->addOperand(&type0); auto op2 = model->addOperand(&type1); diff --git a/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-linux b/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-linux index 20a5d3e..1e5e639 100644 --- a/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-linux +++ b/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-linux @@ -114,3 +114,5 @@ GeneratedTests.space_to_batch_quant8_3 GeneratedTests.transpose_float_1 GeneratedTests.transpose GeneratedTests.transpose_quant8_1 +GeneratedTests.gather_1D_quant8 +GeneratedTests.gather_2D_quant8 diff --git a/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-tizen b/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-tizen index 1a72531..99af1ed 100644 --- a/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-tizen +++ b/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.armv7l-tizen @@ -177,3 +177,5 @@ GeneratedTests.strided_slice_quant8_9 GeneratedTests.transpose_float_1 GeneratedTests.transpose GeneratedTests.transpose_quant8_1 +GeneratedTests.gather_1D_quant8 +GeneratedTests.gather_2D_quant8 diff --git a/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.x86_64-linux b/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.x86_64-linux index d1cf084..bcd67b8 100644 --- a/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.x86_64-linux +++ b/runtimes/tests/neural_networks_test/runtime_run_android_nn_test.skip.x86_64-linux @@ -68,3 +68,5 @@ ValidationTestModel.* ValidationTestCompilation.* ValidationTestIdentify.* ValidationTestExecution.* +GeneratedTests.gather_1D_quant8 +GeneratedTests.gather_2D_quant8 diff --git a/runtimes/tests/neural_networks_test/specs/Ex/gather_1D_uint8.mod.py b/runtimes/tests/neural_networks_test/specs/Ex/gather_1D_quant8.mod.py similarity index 66% rename from runtimes/tests/neural_networks_test/specs/Ex/gather_1D_uint8.mod.py rename to runtimes/tests/neural_networks_test/specs/Ex/gather_1D_quant8.mod.py index 1e925a7..7e8bfb0 100644 --- a/runtimes/tests/neural_networks_test/specs/Ex/gather_1D_uint8.mod.py +++ b/runtimes/tests/neural_networks_test/specs/Ex/gather_1D_quant8.mod.py @@ -1,19 +1,19 @@ # model model = Model() -i1 = Input("op1", "TENSOR_QUANT8_ASYMM", "{4}") # a vector of 2 float32s +i1 = Input("op1", "TENSOR_QUANT8_ASYMM", "{4}, 0.5f, 1") # a vector of 2 float32s i2 = Input("op2", "TENSOR_INT32", "{2}") # another vector of 2 int32s axis = Int32Scalar("axis", 0) -i3 = Output("op3", "TENSOR_QUANT8_ASYMM", "{2}") +i3 = Output("op3", "TENSOR_QUANT8_ASYMM", "{2}, 0.5f, 1") model = model.Operation("GATHER_EX", i1, i2, axis).To(i3) # Example 1. Input in operand 0, input0 = {i1: # input 0 - [3, 4, 5, 6], + [7, 9, 11, 13], i2: # input 1 [2, 0]} output0 = {i3: # output 0 - [5, 3]} + [11, 7]} # Instantiate an example Example((input0, output0)) diff --git a/runtimes/tests/neural_networks_test/specs/Ex/gather_2D_uint8.mod.py b/runtimes/tests/neural_networks_test/specs/Ex/gather_2D_quant8.mod.py similarity index 57% rename from runtimes/tests/neural_networks_test/specs/Ex/gather_2D_uint8.mod.py rename to runtimes/tests/neural_networks_test/specs/Ex/gather_2D_quant8.mod.py index 5774d7f..7e07d04 100644 --- a/runtimes/tests/neural_networks_test/specs/Ex/gather_2D_uint8.mod.py +++ b/runtimes/tests/neural_networks_test/specs/Ex/gather_2D_quant8.mod.py @@ -1,22 +1,22 @@ # model model = Model() -i1 = Input("op1", "TENSOR_QUANT8_ASYMM", "{3,4}") # a vector of 2 float32s +i1 = Input("op1", "TENSOR_QUANT8_ASYMM", "{3,4}, 0.5f, 1") # a vector of 2 float32s i2 = Input("op2", "TENSOR_INT32", "{2}") # another vector of 2 int32s axis = Int32Scalar("axis", 0) -i3 = Output("op3", "TENSOR_QUANT8_ASYMM", "{2,4}") +i3 = Output("op3", "TENSOR_QUANT8_ASYMM", "{2,4}, 0.5f, 1") model = model.Operation("GATHER_EX", i1, i2, axis).To(i3) # Example 1. Input in operand 0, input0 = {i1: # input 0 - [3, 4, 5, 6, - 7, 8, 9, 1, - 2, 18, 19, 11], + [7, 9, 11, 13, + 15, 17, 19, 3, + 5, 37, 39, 23], i2: # input 1 [2, 0]} output0 = {i3: # output 0 - [2, 18, 19, 11, - 3, 4, 5, 6]} + [5, 37, 39, 23, + 7, 9, 11, 13]} # Instantiate an example Example((input0, output0)) -- 2.7.4