avg_pool_float_4_relaxed.mod.py revision b74d2837ab1687c1a4f913aa5f90a9838efe0add
1b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# 2b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# Copyright (C) 2018 The Android Open Source Project 3b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# 4b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# Licensed under the Apache License, Version 2.0 (the "License"); 5b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# you may not use this file except in compliance with the License. 6b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# You may obtain a copy of the License at 7b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# 8b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# http://www.apache.org/licenses/LICENSE-2.0 9b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# 10b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# Unless required by applicable law or agreed to in writing, software 11b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# distributed under the License is distributed on an "AS IS" BASIS, 12b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# See the License for the specific language governing permissions and 14b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# limitations under the License. 15b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# 16b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 17b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# model 18b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangmodel = Model() 19b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 20b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangbat = 5 21b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangrow = 52 22b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangcol = 60 23b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangchn = 3 24b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 25b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangi0 = Input("i0", "TENSOR_FLOAT32", "{%d, %d, %d, %d}" % (bat, row, col, chn)) 26b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 27b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangstd = 5 28b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangflt = 100 29b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangpad = 50 30b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 31b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangstride = Int32Scalar("stride", std) 32b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangfilt = Int32Scalar("filter", flt) 33b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangpadding = Int32Scalar("padding", pad) 34b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangact3 = Int32Scalar("relu6_activation", 3) 35b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangoutput_row = (row + 2 * pad - flt + std) // std 36b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangoutput_col = (col + 2 * pad - flt + std) // std 37b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 38b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangoutput = Output("output", "TENSOR_FLOAT32", 39b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang "{%d, %d, %d, %d}" % (bat, output_row, output_col, chn)) 40b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 41b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangmodel = model.Operation( 42b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang "AVERAGE_POOL_2D", i0, padding, padding, padding, padding, stride, stride, filt, filt, act3).To(output) 43b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangmodel = model.RelaxedExecution(True) 44b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 45b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# Example 1. Input in operand 0, 46b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wanginput_values = [10 for _ in range(bat * row * col * chn)] 47b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wanginput0 = {i0: input_values} 48b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangoutput_values = [6 for _ in range(bat * output_row * output_col * chn)] 49b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wangoutput0 = {output: output_values} 50b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang 51b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao Wang# Instantiate an example 52b74d2837ab1687c1a4f913aa5f90a9838efe0addMiao WangExample((input0, output0)) 53