summaryrefslogtreecommitdiff
path: root/tests/nnapi/specs/Ex/gather_ex_4D_float.mod.py
blob: 38fa8d0159c26e9eb9857cd6e0331db9ef80e096 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# This test case is for 4d input gather operator.
# The input shape is [1,2,3,4] and this test produces output
# by referencing the data on axis 0 from the input to the indices value [0,0].
# In this case, the output shape changeds to [2,2,3,4] because it uses [0,0] indices on the 0 axis,
# and the data is configured as filling the 0th data of the input axis 0 twice.

# model
model = Model()
i1 = Input("op1", "TENSOR_FLOAT32", "{1,2,3,4}") # a vector of 24 float32s
i2 = Input("op2", "TENSOR_INT32", "{2}") # another vector of 2 int32s
axis = Int32Scalar("axis", 0)
i3 = Output("op3", "TENSOR_FLOAT32", "{2,2,3,4}") # a vector of 48 float32s
model = model.Operation("GATHER_EX", i1, i2, axis).To(i3)

# Example 1. Input in operand 0,
input0 = {i1: # input 0
          [1.123456789123456789, 2.123456789123456789, 3.123456789123456789, 4.123456789123456789,
          5.123456789123456789, 6.123456789123456789, 7.123456789123456789, 8.123456789123456789,
          9.123456789123456789, 10.123456789123456789, 11.123456789123456789, 12.123456789123456789,
          13.123456789123456789, 14.123456789123456789, 15.123456789123456789, 16.123456789123456789,
          17.123456789123456789, 18.123456789123456789, 19.123456789123456789, 20.123456789123456789,
          21.123456789123456789, 22.123456789123456789, 23.123456789123456789, 24.123456789123456789],
          i2: # input 1
          [0, 0]}

output0 = {i3: # output 0
          [1.123456789123456789, 2.123456789123456789, 3.123456789123456789, 4.123456789123456789,
          5.123456789123456789, 6.123456789123456789, 7.123456789123456789, 8.123456789123456789,
          9.123456789123456789, 10.123456789123456789, 11.123456789123456789, 12.123456789123456789,
          13.123456789123456789, 14.123456789123456789, 15.123456789123456789, 16.123456789123456789,
          17.123456789123456789, 18.123456789123456789, 19.123456789123456789, 20.123456789123456789,
          21.123456789123456789, 22.123456789123456789, 23.123456789123456789, 24.123456789123456789,
          1.123456789123456789, 2.123456789123456789, 3.123456789123456789, 4.123456789123456789,
          5.123456789123456789, 6.123456789123456789, 7.123456789123456789, 8.123456789123456789,
          9.123456789123456789, 10.123456789123456789, 11.123456789123456789, 12.123456789123456789,
          13.123456789123456789, 14.123456789123456789, 15.123456789123456789, 16.123456789123456789,
          17.123456789123456789, 18.123456789123456789, 19.123456789123456789, 20.123456789123456789,
          21.123456789123456789, 22.123456789123456789, 23.123456789123456789, 24.123456789123456789]}

# Instantiate an example
Example((input0, output0))