tf.nn.max_pool(value, ksize, strides, padding, name=None)
在输入上执行最大池化操作。
参数:
value一个4维张量,形状为[batch, height, width, channels] 类型为 float32, float64, qint8, quint8, qint32ksize长度大于等于4个的整数列表,表示输入张量的每个维度的窗口大小strides长度大于等于4个的整数列表,表示输入张量的每个维度的滑动窗口的步幅padding一个字符串,可以是’VALID’或’SAME’,填充算法,'VALID’为无填充,'SAME’使得输出的大小与输入相同name(可选)操作的名称返回: 一个与value相同类型的张量。
输出大小的计算(以height为例): 输出 h e i g h t = ⌊ h e i g h t + 2 p a d d i n g − k s i z e s t r i d e s + 1 ⌋ \text{输出}height=\lfloor \frac{height+2padding-ksize}{strides}+1 \rfloor 输出height=⌊stridesheight+2padding−ksize+1⌋
例子
# x是一个形状为[1, 3, 3, 3] 的张量 >>>tf.nn.max_pool(x, ksize=[1,2,2,1], strides=[1,1,1,1], padding='SAME') #shape为[1, 3, 3, 3] >>>tf.nn.max_pool(x, ksize=[1,2,2,1], strides=[1,1,1,1], padding='VALID') #shape为[1, 2, 2, 3]类似用法 tf.nn.avg_pool 执行平均池化操作