【问题标题】:Negative Padding in Convolution (Caffe)卷积中的负填充(Caffe)
【发布时间】:2015-11-27 12:57:25
【问题描述】:

我有一个向量,它由 7 帧视频序列的特征串联组成。
我想对这个向量应用一维卷积,以便只处理帧的一部分。
假设一帧的特征向量长度为​​ 10

  • 我的输入特征向量的总长度为 7 x 10 = 70

现在我希望两个卷积作用于该向量的不同部分

  • conv1 应该以 1:5 的比例处理特征
  • conv2 应该处理 6:10
  • 两者的步幅都是 10
  • 因此卷积过滤器仅适用于不同帧中的相同特征

基本上我需要为第二个 conv 过滤器指定一个偏移量。那可能吗? 在 Caffe 网站上,他们只谈论零填充,但对于偏移量,我需要一个负填充。

这样的事情可能吗?

layer {
  name: "conv2"
  type: "Convolution"
  bottom: "data"
  top: "conv2"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 90
    kernel_h: 1
    kernel_w: 5
    pad_h: 0
    pad_w: -5   
    stride: 10
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}

【问题讨论】:

    标签: caffe


    【解决方案1】:

    我认为您可以通过使用slicing layer 而不是负填充来实现这一点。

    【讨论】:

    • 似乎这只会将通道分成单独的层。然后我将不得不改变我的输入数据的形状。如果有效我会尝试...
    • 它有效:)。我为不同的通道添加了 0 填充,因为这些特征具有不同的大小。
    猜你喜欢
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2016-11-24
    • 2016-11-13
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多