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
18model = Model()
19
20bat = 5
21row = 52
22col = 60
23chn = 3
24
25i0 = Input("i0", "TENSOR_QUANT8_ASYMM", "{%d, %d, %d, %d}, 0.5f, 0" % (bat, row, col, chn))
26
27std = 5
28flt = 10
29pad = 5
30
31stride = Int32Scalar("stride", std)
32filt = Int32Scalar("filter", flt)
33padding = Int32Scalar("padding", pad)
34act0 = Int32Scalar("activation", 0)
35output_row = (row + 2 * pad - flt + std) // std
36output_col = (col + 2 * pad - flt + std) // std
37
38output = Output("output", "TENSOR_QUANT8_ASYMM",
39                "{%d, %d, %d, %d}, 0.5f, 0" % (bat, output_row, output_col, chn))
40
41model = model.Operation(
42    "AVERAGE_POOL_2D", i0, padding, padding, padding, padding, stride, stride, filt, filt, act0).To(output)
43
44# Example 1. Input in operand 0,
45input_values = [255 for _ in range(bat * row * col * chn)]
46input0 = {i0: input_values}
47output_values = [255 for _ in range(bat * output_row * output_col * chn)]
48output0 = {output: output_values}
49
50# Instantiate an example
51Example((input0, output0))
52