在张量流中,Caffe的Maxpooling相当于什么?

时间:2017-01-20 14:03:50

标签: tensorflow max-pooling

我很困惑我们如何在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]的重叠汇集说

  

如果步幅是每个窗口都是   使用,如果步幅是全部两个,则每个窗口都使用   维度等。

1 个答案:

答案 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或更大。

请参阅此处的文档:

https://www.tensorflow.org/api_docs/python/nn/pooling