我很困惑我们如何在max-pooling
中定义Tensorflow
。文件含糊不清,不能很好地解释参数
在汇集文档中,它只说:
ksize:长度为> = 4的整数列表。窗口的大小为 输入张量的每个维度。步幅:具有的整数列表 长度> = 4.每个维度的滑动窗口的步幅 输入张量。
和
每个池化操作都使用大小为ksize的矩形窗口 抵消大步。例如,如果每个窗口都是strides 使用,如果步幅是全部两个,则每个窗口都使用 维度等。
Caffe
中以下max-pooling
Tensorflow
的等效内容是什么?
layer {
name: "pool"
type: "Pooling"
bottom: "relu"
top: "pool"
pooling_param {
pool: MAX
kernel_size: 2
stride: 2
}
}
我不确定它们是否意味着所有一个步长[1,1,1,1]和非重叠[2,2,2,2]的重叠汇集说
如果步幅是每个窗口都是 使用,如果步幅是全部两个,则每个窗口都使用 维度等。
答案 0 :(得分:1)
在Tensor-Flow中使用最大池:
tf.nn.max_pool(value, ksize, strides, padding, data_format='NHWC', name=None)
其中ksize定义用于max-pooling的窗口。请注意,您必须为输入的每个维指定窗口大小。这是对caffe的最大区别,caffe会为你做所有尺寸计算。请注意,根据您之前卷积层的输出数量,您可能会有不同的维度。
Stride在caffe中的效果仍然相同("跳过"输入。但是你必须为输入的每个维度再次指定步幅。
尺寸至少为4或更大。
请参阅此处的文档: