summaryrefslogtreecommitdiff
path: root/tests/nnapi/specs/Ex
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nnapi/specs/Ex')
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_1D_float_1_nnfw.mod.py47
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_1D_float_2_nnfw.mod.py25
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_1D_int32_nnfw.mod.py47
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_float_1_nnfw.mod.py28
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_float_2_nnfw.mod.py27
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_float_3_nnfw.mod.py28
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_float_4_nnfw.mod.py32
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_int32_1_nnfw.mod.py27
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_int32_2_nnfw.mod.py28
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_int32_3_nnfw.mod.py28
-rw-r--r--tests/nnapi/specs/Ex/split_v_ex_4D_int32_4_nnfw.mod.py28
-rw-r--r--tests/nnapi/specs/Ex/stateless_random_uniform_ex_nnfw.mod.py40
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))