summaryrefslogtreecommitdiff
path: root/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8')
-rw-r--r--tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/depthwise_conv2d_quant8.mod.py43
-rw-r--r--tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stderr.txt.expect3
-rw-r--r--tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stdout.txt.expect82
3 files changed, 128 insertions, 0 deletions
diff --git a/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/depthwise_conv2d_quant8.mod.py b/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/depthwise_conv2d_quant8.mod.py
new file mode 100644
index 000000000..051780877
--- /dev/null
+++ b/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/depthwise_conv2d_quant8.mod.py
@@ -0,0 +1,43 @@
+# Copyright 2018, The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+model = Model()
+i1 = Input("op1", "TENSOR_QUANT8_ASYMM", "{1, 2, 2, 2}, 0.5f, 0")
+f1 = Input("op2", "TENSOR_QUANT8_ASYMM", "{1, 2, 2, 2}, 0.5f, 0")
+b1 = Input("op3", "TENSOR_INT32", "{2}, 0.25f, 0")
+pad0 = Int32Scalar("pad0", 0)
+act = Int32Scalar("act", 0)
+stride = Int32Scalar("stride", 1)
+cm = Int32Scalar("channelMultiplier", 1)
+output = Output("op4", "TENSOR_QUANT8_ASYMM", "{1,1,1,2}, 1.f, 0")
+
+model = model.Operation("DEPTHWISE_CONV_2D",
+ i1, f1, b1,
+ pad0, pad0, pad0, pad0,
+ stride, stride,
+ cm, act).To(output)
+
+# Example 1. Input in operand 0,
+input0 = {i1: # input 0
+ [4, 16, 4, 32, 4, 64, 4, 128],
+ f1:
+ [2, 4, 2, 0, 2, 2, 2, 0],
+ b1:
+ [0, 0]}
+# (i1 (depthconv) f1)
+output0 = {output: # output 0
+ [8, 48]}
+
+# Instantiate an example
+Example((input0, output0))
diff --git a/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stderr.txt.expect b/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stderr.txt.expect
new file mode 100644
index 000000000..7ac2240b2
--- /dev/null
+++ b/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stderr.txt.expect
@@ -0,0 +1,3 @@
+Output CTS model: -
+Output example:-
+Output CTS test: -
diff --git a/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stdout.txt.expect b/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stdout.txt.expect
new file mode 100644
index 000000000..9c54412de
--- /dev/null
+++ b/tests/nnapi/nnapi_test_generator/android-q-beta/tests/P_backward_compatibility_quant8/stdout.txt.expect
@@ -0,0 +1,82 @@
+// clang-format off
+// Generated file (from: depthwise_conv2d_quant8.mod.py). Do not edit
+// clang-format off
+// Generated file (from: depthwise_conv2d_quant8.mod.py). Do not edit
+// clang-format off
+// Generated file (from: depthwise_conv2d_quant8.mod.py). Do not edit
+#include "../../TestGenerated.h"
+
+namespace depthwise_conv2d_quant8 {
+// Generated depthwise_conv2d_quant8 test
+#include "-"
+// Generated model constructor
+#include "-"
+} // namespace depthwise_conv2d_quant8
+
+void CreateModel(Model *model) {
+ OperandType type0(Type::TENSOR_QUANT8_ASYMM, {1, 2, 2, 2}, 0.5f, 0);
+ OperandType type1(Type::TENSOR_INT32, {2}, 0.25f, 0);
+ OperandType type2(Type::INT32, {});
+ OperandType type3(Type::TENSOR_QUANT8_ASYMM, {1, 1, 1, 2}, 1.0f, 0);
+ // Phase 1, operands
+ auto op1 = model->addOperand(&type0);
+ auto op2 = model->addOperand(&type0);
+ auto op3 = model->addOperand(&type1);
+ auto pad0 = model->addOperand(&type2);
+ auto stride = model->addOperand(&type2);
+ auto channelMultiplier = model->addOperand(&type2);
+ auto act = model->addOperand(&type2);
+ auto op4 = model->addOperand(&type3);
+ // Phase 2, operations
+ static int32_t pad0_init[] = {0};
+ model->setOperandValue(pad0, pad0_init, sizeof(int32_t) * 1);
+ static int32_t stride_init[] = {1};
+ model->setOperandValue(stride, stride_init, sizeof(int32_t) * 1);
+ static int32_t channelMultiplier_init[] = {1};
+ model->setOperandValue(channelMultiplier, channelMultiplier_init, sizeof(int32_t) * 1);
+ static int32_t act_init[] = {0};
+ model->setOperandValue(act, act_init, sizeof(int32_t) * 1);
+ model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op1, op2, op3, pad0, pad0, pad0, pad0, stride, stride, channelMultiplier, act}, {op4});
+ // Phase 3, inputs and outputs
+ model->identifyInputsAndOutputs(
+ {op1, op2, op3},
+ {op4});
+ assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+ static std::set<int> ignore = {};
+ return ignore.find(i) != ignore.end();
+}
+
+std::vector<MixedTypedExample> examples = {
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+ // int -> FLOAT32 map
+ {},
+ // int -> INT32 map
+ {{2, {0, 0}}},
+ // int -> QUANT8_ASYMM map
+ {{0, {4, 16, 4, 32, 4, 64, 4, 128}}, {1, {2, 4, 2, 0, 2, 2, 2, 0}}}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+ // int -> FLOAT32 map
+ {},
+ // int -> INT32 map
+ {},
+ // int -> QUANT8_ASYMM map
+ {{0, {8, 48}}}
+}
+}, // End of an example
+};
+
+TEST_F(GeneratedTests, depthwise_conv2d_quant8) {
+ execute(depthwise_conv2d_quant8::CreateModel,
+ depthwise_conv2d_quant8::is_ignored,
+ depthwise_conv2d_quant8::examples);
+}
+
+#include "../generated/tests/depthwise_conv2d_quant8.mod.py.cpp"