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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#
# Copyright (C) 2019 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("input", "TENSOR_QUANT8_ASYMM_SIGNED", "{1, 1, 1, 8}, 0.5f, 0")
block = Int32Scalar("radius", 2)
output = Output("output", "TENSOR_QUANT8_ASYMM_SIGNED", "{1, 2, 2, 2}, 0.5f, 0")
model = model.Operation("DEPTH_TO_SPACE", i1, block).To(output)
# Example 1. Input in operand 0,
input0 = {
i1: # input 0
[-127, -126, -125, -124, 124, 125, 126, 127]
}
output0 = {
output: # output 0
[-127, -126, -125, -124, 124, 125, 126, 127]
}
# Instantiate an example
Example((input0, output0))
model = Model()
i1 = Input("input", "TENSOR_QUANT8_ASYMM_SIGNED", "{1, 2, 2, 4}, 0.5f, 0")
block = Int32Scalar("radius", 2)
output = Output("output", "TENSOR_QUANT8_ASYMM_SIGNED", "{1, 4, 4, 1}, 0.5f, 0")
model = model.Operation("DEPTH_TO_SPACE", i1, block).To(output)
# Example 1. Input in operand 0,
input0 = {
i1: # input 0
[
-128, -127, -124, -123, -126, -125, -122, -121, 120, 121, 124, 125,
122, 123, 126, 127
]
}
output0 = {
output: # output 0
[
-128, -127, -126, -125, -124, -123, -122, -121, 120, 121, 122, 123,
124, 125, 126, 127
]
}
# Instantiate an example
Example((input0, output0))
#######################################################
layout = BoolScalar("layout", False) # NHWC
# DEPTH_TO_SPACE_NCHW_1, block_size = 2
i1 = Input("op1", "TENSOR_FLOAT32", "{1, 1, 1, 8}")
o1 = Output("op4", "TENSOR_FLOAT32", "{1, 2, 2, 2}")
Model().Operation("DEPTH_TO_SPACE", i1, 2, layout).To(o1)
# Additional data type
quant8_signed = DataTypeConverter().Identify({
i1: ("TENSOR_QUANT8_ASYMM_SIGNED", 0.1, 0),
o1: ("TENSOR_QUANT8_ASYMM_SIGNED", 0.1, 0)
})
# Instantiate an example
example = Example({
i1: [1.4, 2.3, 3.2, 4.1, 5.4, 6.3, 7.2, 8.1],
o1: [1.4, 2.3, 3.2, 4.1, 5.4, 6.3, 7.2, 8.1]
}).AddNchw(i1, o1, layout).AddVariations(quant8_signed, includeDefault=False)
#######################################################
# DEPTH_TO_SPACE_NCHW_2, block_size = 2
i2 = Input("op1", "TENSOR_FLOAT32", "{1, 2, 2, 4}")
o2 = Output("op4", "TENSOR_FLOAT32", "{1, 4, 4, 1}")
Model().Operation("DEPTH_TO_SPACE", i2, 2, layout).To(o2)
# Additional data type
quant8_signed = DataTypeConverter().Identify({
i2: ("TENSOR_QUANT8_ASYMM_SIGNED", 0.5, 0),
o2: ("TENSOR_QUANT8_ASYMM_SIGNED", 0.5, 0)
})
# Instantiate an example
example = Example({
i2: [1., 2., 5., 6., 3., 4., 7., 8., 9., 10., 13., 14., 11., 12., 15., 16.],
o2: [1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16.]
}).AddNchw(i2, o2, layout).AddVariations(quant8_signed, includeDefault=False)
#######################################################
# DEPTH_TO_SPACE_NCHW_3, block_size = 2
i3 = Input("op1", "TENSOR_FLOAT32", "{1, 2, 2, 8}")
o3 = Output("op4", "TENSOR_FLOAT32", "{1, 4, 4, 2}")
Model().Operation("DEPTH_TO_SPACE", i3, 2, layout).To(o3)
# Additional data type
quant8_signed = DataTypeConverter().Identify({
i3: ("TENSOR_QUANT8_ASYMM_SIGNED", 1.0, 0),
o3: ("TENSOR_QUANT8_ASYMM_SIGNED", 1.0, 0)
})
# Instantiate an example
example = Example({
i3: [10, 20, 11, 21, 14, 24, 15, 25,
12, 22, 13, 23, 16, 26, 17, 27,
18, 28, 19, 29, 112, 212, 113, 213,
110, 210, 111, 211, 114, 214, 115, 215],
o3: [10, 20, 11, 21, 12, 22, 13, 23,
14, 24, 15, 25, 16, 26, 17, 27,
18, 28, 19, 29, 110, 210, 111, 211,
112, 212, 113, 213, 114, 214, 115, 215]
}).AddNchw(i3, o3, layout).AddVariations(quant8_signed, includeDefault=False)
|