tf.nn.max_pool

tf.nn.max_pool(value, ksize, strides, padding, name=None)

在输入上执行最大池化操作。

参数:

value 一个4维张量,形状为[batch, height, width, channels] 类型为 float32, float64, qint8, quint8, qint32
ksize 长度大于等于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+2paddingksize+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 执行平均池化操作

你可能感兴趣的:(Tensorflow)