Imported Upstream version 1.7.0
[platform/core/ml/nnfw.git] / tests / nnapi / specs / V1_0 / max_pool_quant8_3.mod.py
1 #
2 # Copyright (C) 2017 The Android Open Source Project
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 # model
18 model = Model()
19
20 bat = 5
21 row = 50
22 col = 70
23 chn = 3
24
25 i0 = Input("i0", "TENSOR_QUANT8_ASYMM", "{%d, %d, %d, %d}, 0.5f, 0" % (bat, row, col, chn))
26
27 std = 20
28 flt = 20
29 pad = 0
30
31 stride = Int32Scalar("stride", std)
32 filt = Int32Scalar("filter", flt)
33 padding = Int32Scalar("padding", pad)
34 act2 = Int32Scalar("relu1_activation", 2)
35 output_row = (row + 2 * pad - flt + std) // std
36 output_col = (col + 2 * pad - flt + std) // std
37
38 output = Output("output", "TENSOR_QUANT8_ASYMM",
39                 "{%d, %d, %d, %d}, 0.5f, 0" % (bat, output_row, output_col, chn))
40
41 model = model.Operation(
42     "MAX_POOL_2D", i0, padding, padding, padding, padding, stride, stride, filt, filt, act2).To(output)
43
44 # Example 1. Input in operand 0
45 input_range = bat * row * col * chn
46 input_values = (lambda s = std, r = input_range: [x % s + 1 for x in range(r)])()
47 input0 = {i0: input_values}
48 output_range = bat * output_row * output_col * chn
49 output_values = (lambda r = output_range: [ 2 for _ in range(r)])()
50 output0 = {output: output_values}
51
52 # Instantiate an example
53 Example((input0, output0))