diff options
Diffstat (limited to 'tests/nnapi/specs/Ex')
12 files changed, 385 insertions, 0 deletions
diff --git a/tests/nnapi/specs/Ex/split_v_ex_1D_float_1_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_1D_float_1_nnfw.mod.py new file mode 100644 index 000000000..6a2b716db --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_1D_float_1_nnfw.mod.py @@ -0,0 +1,47 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_FLOAT32", "{8}") +size_splits = Input("size_splits", "TENSOR_INT32", "{8}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 8) + +i2 = Output("op2", "TENSOR_FLOAT32", "{1}") +i3 = Output("op3", "TENSOR_FLOAT32", "{1}") +i4 = Output("op4", "TENSOR_FLOAT32", "{1}") +i5 = Output("op5", "TENSOR_FLOAT32", "{1}") +i6 = Output("op6", "TENSOR_FLOAT32", "{1}") +i7 = Output("op7", "TENSOR_FLOAT32", "{1}") +i8 = Output("op8", "TENSOR_FLOAT32", "{1}") +i9 = Output("op9", "TENSOR_FLOAT32", "{1}") + +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3, i4, i5, i6, i7, i8, i9]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0], + size_splits: + [1, 1, 1, 1, 1, 1, 1, 1], + split_dim: + [0] + } + +output0 = { + i2: # output 0 + [1.0], + i3: # output 1 + [2.0], + i4: # output 2 + [3.0], + i5: # output 3 + [4.0], + i6: # output 4 + [5.0], + i7: # output 5 + [6.0], + i8: # output 6 + [7.0], + i9: # output 7 + [8.0]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_1D_float_2_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_1D_float_2_nnfw.mod.py new file mode 100644 index 000000000..6224852ff --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_1D_float_2_nnfw.mod.py @@ -0,0 +1,25 @@ +# model +input0 = Input("input0", "TENSOR_FLOAT32", "{12}") +size_splits = Input("size_splits", "TENSOR_INT32", "{3}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits",3); + +output0 = Output("output0", "TENSOR_FLOAT32", "{3}") +output1 = Output("output1", "TENSOR_FLOAT32", "{5}") +output2 = Output("output2", "TENSOR_FLOAT32", "{4}") + +model = Model().Operation("SPLIT_V_EX", input0, size_splits, split_dim, num_splits).To((output0, output1, output2)) + +# Example 1. +input_dict = { + input0: [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0], + size_splits: [3, 5, 4], + split_dim: [0] +} +output_dict = { + output0: [1.0, 2.0, 3.0], + output1: [4.0, 5.0, 6.0, 7.0, 8.0], + output2: [9.0, 10.0, 11.0, 12.0] +} + +Example((input_dict, output_dict)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_1D_int32_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_1D_int32_nnfw.mod.py new file mode 100644 index 000000000..2dea4d613 --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_1D_int32_nnfw.mod.py @@ -0,0 +1,47 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_INT32", "{8}") +size_splits = Input("size_splits", "TENSOR_INT32", "{8}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 8) + +i2 = Output("op2", "TENSOR_INT32", "{1}") +i3 = Output("op3", "TENSOR_INT32", "{1}") +i4 = Output("op4", "TENSOR_INT32", "{1}") +i5 = Output("op5", "TENSOR_INT32", "{1}") +i6 = Output("op6", "TENSOR_INT32", "{1}") +i7 = Output("op7", "TENSOR_INT32", "{1}") +i8 = Output("op8", "TENSOR_INT32", "{1}") +i9 = Output("op9", "TENSOR_INT32", "{1}") + +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3, i4, i5, i6, i7, i8, i9]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1, 2, 3, 4, 5, 6, 7, 8], + size_splits: + [1, 1, 1, 1, 1, 1, 1, 1], + split_dim: + [0] + } + +output0 = { + i2: # output 0 + [1], + i3: # output 1 + [2], + i4: # output 2 + [3], + i5: # output 3 + [4], + i6: # output 4 + [5], + i7: # output 5 + [6], + i8: # output 6 + [7], + i9: # output 7 + [8]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_float_1_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_float_1_nnfw.mod.py new file mode 100644 index 000000000..c53ae1c0b --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_float_1_nnfw.mod.py @@ -0,0 +1,28 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_FLOAT32", "{2,2,2,2}") +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_FLOAT32", "{1,2,2,2}") +i3 = Output("op3", "TENSOR_FLOAT32", "{1,2,2,2}") +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0], + size_splits: + [8, 8], + split_dim: + [0] + } + +output0 = { + i2: # output 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0], + i3: # output 1 + [9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_float_2_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_float_2_nnfw.mod.py new file mode 100644 index 000000000..593412d08 --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_float_2_nnfw.mod.py @@ -0,0 +1,27 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_FLOAT32", "{2,2,2,2}") +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_FLOAT32", "{2,2,2,1}") +i3 = Output("op3", "TENSOR_FLOAT32", "{2,2,2,1}") +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0], + size_splits: + [8, 8], + split_dim: + [3]} + +output0 = { + i2: # output 0 + [1.0, 3.0, 5.0, 7.0, 9.0, 11.0, 13.0, 15.0], + i3: # output 1 + [2.0, 4.0, 6.0, 8.0, 10.0, 12.0, 14.0, 16.0]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_float_3_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_float_3_nnfw.mod.py new file mode 100644 index 000000000..ef77536c6 --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_float_3_nnfw.mod.py @@ -0,0 +1,28 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_FLOAT32", "{2,2,2,2}") +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_FLOAT32", "{1,2,2,2}") +i3 = Output("op3", "TENSOR_FLOAT32", "{1,2,2,2}") +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0], + size_splits: + [8, 8], + split_dim: + [-4] + } + +output0 = { + i2: # output 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0], + i3: # output 1 + [9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_float_4_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_float_4_nnfw.mod.py new file mode 100644 index 000000000..b995f9e03 --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_float_4_nnfw.mod.py @@ -0,0 +1,32 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_FLOAT32", "{4,1,1,8}") +size_splits = Input("size_splits", "TENSOR_INT32", "{3}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 3) + +i2 = Output("op2", "TENSOR_FLOAT32", "{4,1,1,2}") +i3 = Output("op3", "TENSOR_FLOAT32", "{4,1,1,4}") +i4 = Output("op4", "TENSOR_FLOAT32", "{4,1,1,2}") + +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3, i4]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, + 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0], + size_splits: + [2,4,2], + split_dim: + [3] + } + +output0 = { + i2: # output 0 + [1.0, 2.0, 9.0, 10.0, 17.0, 18.0, 25.0, 26.0], + i3: # output 1 + [3.0, 4.0, 5.0, 6.0, 11.0, 12.0, 13.0, 14.0, 19.0, 20.0, 21.0, 22.0, 27.0, 28.0, 29.0, 30.0], + i4: [7.0, 8.0, 15.0, 16.0, 23.0, 24.0, 31.0, 32.0]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_int32_1_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_1_nnfw.mod.py new file mode 100644 index 000000000..f544d0afa --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_1_nnfw.mod.py @@ -0,0 +1,27 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_INT32", "{2,2,2,2}") +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_INT32", "{1,2,2,2}") +i3 = Output("op3", "TENSOR_INT32", "{1,2,2,2}") +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + size_splits: + [8, 8], + split_dim: + [0]} + +output0 = { + i2: # output 0 + [1, 2, 3, 4, 5, 6, 7, 8], + i3: # output 1 + [9, 10, 11, 12, 13, 14, 15, 16]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_int32_2_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_2_nnfw.mod.py new file mode 100644 index 000000000..5ed016542 --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_2_nnfw.mod.py @@ -0,0 +1,28 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_INT32", "{2,2,2,2}") +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_INT32", "{2,1,2,2}") +i3 = Output("op3", "TENSOR_INT32", "{2,1,2,2}") + +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + size_splits: + [8, 8], + split_dim: + [1]} + +output0 = { + i2: # output 0 + [1, 2, 3, 4, 9, 10, 11, 12], + i3: # output 1 + [5, 6, 7, 8, 13, 14, 15, 16]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_int32_3_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_3_nnfw.mod.py new file mode 100644 index 000000000..99f3b4f6d --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_3_nnfw.mod.py @@ -0,0 +1,28 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_INT32", "{2,2,2,2}") + +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_INT32", "{2,2,1,2}") +i3 = Output("op3", "TENSOR_INT32", "{2,2,1,2}") +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + size_splits: + [8, 8], + split_dim: + [2]} + +output0 = { + i2: # output 0 + [1, 2, 5, 6, 9, 10, 13, 14], + i3: # output 1 + [3, 4, 7, 8, 11, 12, 15, 16]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/split_v_ex_4D_int32_4_nnfw.mod.py b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_4_nnfw.mod.py new file mode 100644 index 000000000..38ae4dad2 --- /dev/null +++ b/tests/nnapi/specs/Ex/split_v_ex_4D_int32_4_nnfw.mod.py @@ -0,0 +1,28 @@ +# model +model = Model() +i1 = Input("op1", "TENSOR_INT32", "{2,2,2,2}") + +size_splits = Input("size_splits", "TENSOR_INT32", "{2}") +split_dim = Input("split_dim", "TENSOR_INT32", "{1}") +num_splits = Int32Scalar("num_splits", 2) + +i2 = Output("op2", "TENSOR_INT32", "{2,2,2,1}") +i3 = Output("op3", "TENSOR_INT32", "{2,2,2,1}") +model = model.Operation("SPLIT_V_EX", i1, size_splits, split_dim, num_splits).To([i2, i3]) + +# Example 1. Input in operand 0, +input0 = {i1: # input 0 + [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + size_splits: + [8, 8], + split_dim: + [3]} + +output0 = { + i2: # output 0 + [1, 3, 5, 7, 9, 11, 13, 15], + i3: # output 1 + [2, 4, 6, 8, 10, 12, 14, 16]} + +# Instantiate an example +Example((input0, output0)) diff --git a/tests/nnapi/specs/Ex/stateless_random_uniform_ex_nnfw.mod.py b/tests/nnapi/specs/Ex/stateless_random_uniform_ex_nnfw.mod.py new file mode 100644 index 000000000..9c2955503 --- /dev/null +++ b/tests/nnapi/specs/Ex/stateless_random_uniform_ex_nnfw.mod.py @@ -0,0 +1,40 @@ +# +# Copyright (C) 2020 Samsung Electronics Co., Ltd. All Rights Reserved +# +# 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("input1", "TENSOR_INT32", "{1}") +i2 = Input("input2", "TENSOR_INT32", "{2}") + +o1 = Output("output0", "TENSOR_FLOAT32", "{10}") + +model = model.Operation("STATELESS_RANDOM_UNIFORM_EX", i1, i2).To(o1) + +# Example. +input0 = { + i1 : [10], #input1 + i2 : [1, 1] #input2 +} + +output0 = { + o1: [0.09827709, 0.14063823, 0.4553436, + 0.10658443, 0.2075988, 0.30841374, + 0.7489233, 0.90613365, 0.63342273, + 0.37854457] +} + +Example((input0, output0)) |