From: 윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 Date: Tue, 31 Jul 2018 07:30:24 +0000 (+0900) Subject: Squeeze 2D input test (for neural_networks_test/generated) (#2087) X-Git-Tag: 0.2~372 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3074805df023468e9bfa7e111db64be623903237;p=platform%2Fcore%2Fml%2Fnnfw.git Squeeze 2D input test (for neural_networks_test/generated) (#2087) This commit adds Squeeze against 2D input test. C++ files are generated by `./runtimes/tests/neural_networks_test/specs/generate_test.sh` How to run: `$ LD_LIBRARY_PATH=Product/out/lib Product/out/unittest/runtime_run_android_nn_test --gtest_filter=GeneratedTests.squeeze_2D*` Signed-off-by: Hyun Sik Yoon --- 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 f20216a..65d30d2 100644 --- a/runtimes/tests/neural_networks_test/generated/all_generated_tests.cpp +++ b/runtimes/tests/neural_networks_test/generated/all_generated_tests.cpp @@ -2339,6 +2339,20 @@ TEST_F(GeneratedTests, space_to_batch_quant8_3) { space_to_batch_quant8_3::examples); } +namespace squeeze_2D_float_1_nnfw { +std::vector examples = { +// Generated squeeze_2D_float_1_nnfw test +#include "generated/examples/squeeze_2D_float_1_nnfw.example.cpp" +}; +// Generated model constructor +#include "generated/models/squeeze_2D_float_1_nnfw.model.cpp" +} // namespace squeeze_2D_float_1_nnfw +TEST_F(GeneratedTests, squeeze_2D_float_1_nnfw) { + execute(squeeze_2D_float_1_nnfw::CreateModel, + squeeze_2D_float_1_nnfw::is_ignored, + squeeze_2D_float_1_nnfw::examples); +} + namespace squeeze_float_1 { std::vector examples = { // Generated squeeze_float_1 test diff --git a/runtimes/tests/neural_networks_test/generated/examples/squeeze_2D_float_1_nnfw.example.cpp b/runtimes/tests/neural_networks_test/generated/examples/squeeze_2D_float_1_nnfw.example.cpp new file mode 100644 index 0000000..31a82ef --- /dev/null +++ b/runtimes/tests/neural_networks_test/generated/examples/squeeze_2D_float_1_nnfw.example.cpp @@ -0,0 +1,22 @@ +// Generated file (from: squeeze_2D_float_1_nnfw.mod.py). Do not edit +// Begin of an example +{ +//Input(s) +{ // See tools/test_generator/include/TestHarness.h:MixedTyped + // int -> FLOAT32 map + {{0, {1.4f, 2.3f, 3.2f, 4.1f}}}, + // int -> INT32 map + {}, + // int -> QUANT8_ASYMM map + {} +}, +//Output(s) +{ // See tools/test_generator/include/TestHarness.h:MixedTyped + // int -> FLOAT32 map + {{0, {1.4f, 2.3f, 3.2f, 4.1f}}}, + // int -> INT32 map + {}, + // int -> QUANT8_ASYMM map + {} +} +}, // End of an example diff --git a/runtimes/tests/neural_networks_test/generated/models/squeeze_2D_float_1_nnfw.model.cpp b/runtimes/tests/neural_networks_test/generated/models/squeeze_2D_float_1_nnfw.model.cpp new file mode 100644 index 0000000..4d6621e --- /dev/null +++ b/runtimes/tests/neural_networks_test/generated/models/squeeze_2D_float_1_nnfw.model.cpp @@ -0,0 +1,24 @@ +// Generated file (from: squeeze_2D_float_1_nnfw.mod.py). Do not edit +void CreateModel(Model *model) { + OperandType type0(Type::TENSOR_FLOAT32, {4, 1}); + OperandType type2(Type::TENSOR_FLOAT32, {4}); + OperandType type1(Type::TENSOR_INT32, {1}); + // Phase 1, operands + auto input = model->addOperand(&type0); + auto squeezeDims = model->addOperand(&type1); + auto output = model->addOperand(&type2); + // Phase 2, operations + static int32_t squeezeDims_init[] = {1}; + model->setOperandValue(squeezeDims, squeezeDims_init, sizeof(int32_t) * 1); + model->addOperation(ANEURALNETWORKS_SQUEEZE, {input, squeezeDims}, {output}); + // Phase 3, inputs and outputs + model->identifyInputsAndOutputs( + {input}, + {output}); + assert(model->isValid()); +} + +bool is_ignored(int i) { + static std::set ignore = {}; + return ignore.find(i) != ignore.end(); +} diff --git a/runtimes/tests/neural_networks_test/specs/V1_1/squeeze_2D_float_1_nnfw.mod.py b/runtimes/tests/neural_networks_test/specs/V1_1/squeeze_2D_float_1_nnfw.mod.py new file mode 100644 index 0000000..8397902 --- /dev/null +++ b/runtimes/tests/neural_networks_test/specs/V1_1/squeeze_2D_float_1_nnfw.mod.py @@ -0,0 +1,16 @@ +model = Model() +i1 = Input("input", "TENSOR_FLOAT32", "{4, 1}") +squeezeDims = Parameter("squeezeDims", "TENSOR_INT32", "{1}", [1]) +output = Output("output", "TENSOR_FLOAT32", "{4}") + +model = model.Operation("SQUEEZE", i1, squeezeDims).To(output) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1.4, 2.3, 3.2, 4.1]} + +output0 = {output: # output 0 + [1.4, 2.3, 3.2, 4.1]} + +# Instantiate an example +Example((input0, output0))