代码之家  ›  专栏  ›  技术社区  ›  Nima

caffe检查失败:kernel\u size指定了2次;0个空间DIM

  •  1
  • Nima  · 技术社区  · 6 年前

    我有一个caffe“Check failed”错误,如下所示:

    ...
    I0415 15:35:30.497133 39410 net.cpp:129] Top shape: 1 4096 (4096)
    I0415 15:35:30.497135 39410 net.cpp:137] Memory required for data: 2898304
    I0415 15:35:30.497138 39410 layer_factory.hpp:77] Creating layer conv1
    I0415 15:35:30.497155 39410 net.cpp:84] Creating Layer conv1
    I0415 15:35:30.497169 39410 net.cpp:406] conv1 <- ReLU0
    I0415 15:35:30.497174 39410 net.cpp:380] conv1 -> conv1
    F0415 15:35:30.497185 39410 base_conv_layer.cpp:35] Check failed: num_kernel_dims == 1 || num_kernel_dims == num_spatial_axes_ kernel_size must be specified once, or once per spatial dimension (kernel_size specified 2 times; 0 spatial dims).
    

    这是原型的一小部分。txt文件:

    ...
    layer {
      name: "loss0"
      type: "EuclideanLoss"
      bottom: "ampl0"
      bottom: "label_b4_noise"
      top: "loss0"
    }
    layer {
      name: "ReLU0"
      type: "ReLU"
      bottom: "ampl0"
      top: "ReLU0"
      relu_param {
        negative_slope: 0
      }
    }
    layer {
      name: "conv1"
      type: "Convolution"
      bottom: "ReLU0"
      top: "conv1"
      param {
        lr_mult: 1
        decay_mult: 1
      }
      convolution_param {
        num_output: 16
        bias_term: false
        pad: 0
        pad: 0
        kernel_size: 1
        kernel_size: 5
        group: 1
        stride: 1
        stride: 1
        weight_filler {
          type: "xavier"
        }
        bias_filler {
          type: "constant"
          value: 0.0
        }
        axis: 1
      }
    }
    ...
    

    你能告诉我为什么“检查失败”吗?

    “kernel\u size指定2次;0个空间dims”是什么意思?

    这里的num\u spatial\u axes\uukernel\u大小是多少? 对不起,如果我的问题是琐碎的。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Shai    6 年前

    查看图层的输入( "ReLU0" ):

    I0415 15:35:30.497133 39410 net.cpp:129] Top shape: 1 4096 (4096)
    

    其尺寸为1x4096,即有1批4096个通道 宽度和 高度(也就是说,宽度和高度是通常被忽略的单个标注)。
    现在您要申请 "conv1" 1x5内核。如何在没有空间维度的blob上应用卷积?!

    这是您从caffe得到的错误:您为conv内核指定了2个空间维度(您指定了 kernel_size 两次)但您的输入blob根本没有空间维度,这是它的 num_spatial_axes_==0