【问题标题】:caffe: can not change pad size of pooling layercaffe:不能改变池化层的焊盘大小
【发布时间】:2018-11-04 15:05:58
【问题描述】:

在更改传递大小时,我收到此错误。我尝试了不同的焊盘尺寸,但我遇到了类似的错误。这里有更多细节:

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

这是错误:

...
Creating layer Convolution2
I0525 10:45:37.403520 20575 net.cpp:84] Creating Layer Convolution2
I0525 10:45:37.403524 20575 net.cpp:406] Convolution2 <- Concat1
I0525 10:45:37.403529 20575 net.cpp:380] Convolution2 -> Convolution2
I0525 10:45:37.403555 20575 net.cpp:122] Setting up Convolution2
I0525 10:45:37.403560 20575 net.cpp:129] Top shape: 1 16 1 4076 (65216)
I0525 10:45:37.403563 20575 net.cpp:137] Memory required for data: 3022080
I0525 10:45:37.403568 20575 layer_factory.hpp:77] Creating layer Pooling1
I0525 10:45:37.403571 20575 net.cpp:84] Creating Layer Pooling1
I0525 10:45:37.403575 20575 net.cpp:406] Pooling1 <- Convolution2
I0525 10:45:37.403581 20575 net.cpp:380] Pooling1 -> Pooling1
F0525 10:45:37.403594 20575 pooling_layer.cpp:74] Check failed: pad_w_ < kernel_w_ (3 vs. 2)

提前致谢!

【问题讨论】:

    标签: deep-learning caffe conv-neural-network pycaffe convolutional-neural-network


    【解决方案1】:

    从您收到的错误消息中可以清楚地看出问题所在:您将 pad 设置为大于池化内核大小。减少垫,你应该没事

    【讨论】:

    • 那么我的上衣尺寸在变化,不兼容下一层!
    • 我想要一个顶部:1x16x1x2044;但如果 pad=1 则顶部:1x16x1x2038!那么如何增加顶部尺寸呢?
    • @NimaHatami 看看receptive field arithmetics 你可能想玩弄你的内核大小?
    • @NimaHatami 您的输入形状太小,无法获得您期望的输出形状。你想在这里达到什么目的?您可能需要填充其他一些层...
    • 我试图将这个顶部 (1x16x1x2038) 与另一个尺寸为 1x16x1x2044 的顶部相加。我决定通过添加之前的 conv 层来获得它,并且效果很好!
    猜你喜欢
    • 2016-10-09
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 2018-12-28
    • 2022-01-05
    • 2018-07-26
    相关资源
    最近更新 更多