咖啡中的畸形斑点

Misshaped blob in caffe

我正在使用以下原型文本:

layer {
  name: "pool2"
  type: "Pooling"
  bottom: "conv5"
  top: "pool2"
  pooling_param {
    pool: MAX
    kernel_w: 2
    kernel_h: 1
    stride_w: 2
    stride_h: 1
    pad_h: 0
    pad_w: 0
  }
}

之前的斑点形状是1x64x1x30,之后是1x64x1x15。不应该是 1x64x1x14 吗?

来自咖啡文档:

w_o = (w_i + 2*pad_w - kernel_w)/stride_w = (30 - 2)/2 = 14.

这是有道理的,因为池将是:[0,1] [2,3] [4,5] ... [28,29] 这是 14 个元素。

一般来说,最大池化层接受大小为 W1 x H1 x D1 的输入量,并且需要两个超参数——步幅 (S) 和内核大小 (K)。它产生大小为 W2 x H2 x D2 的输出量,其中 W2 = (W1 - K)/S + 1、H2 = (H1 - K)/S + 1 和 D2 = D1。简单的计算得出内核大小为 2 和步幅为 2 将输入减半,验证了 caffe 的网络输出形状。