【问题标题】:How to split a Blob along channels in Caffe如何在 Caffe 中沿通道拆分 Blob
【发布时间】:2017-05-04 20:13:34
【问题描述】:

我想在 Caffe 中拆分 Blob 通道,以便可以将 (N, c, w, h) 的一个 Blob 拆分为两个大小为 (N, c/2, w, h) 的输出 Blob。

我上面描述的很笼统,我实际上要做的是将一个双通道的输入图像分成两个不同的图像。一个进入卷积层,另一个进入池化层。最后,我将输出连接起来。

所以我想知道是否存在允许用户做这种事情的Caffe层,以及如何在prototxt文件中定义它。

【问题讨论】:

    标签: deep-learning caffe


    【解决方案1】:

    是的,Slice 层就是为此目的。来自Layer Catalogue

    Slice 层是一个实用层,它使用给定的切片索引将输入层沿给定维度(目前仅限于 numchannel)切片到多个输出层。

    要将大小为 N x 2 x H x W 的 Blob 切成两个大小为 N x 1 x H x W 的 Blob,您必须在 slice_point: 1(在第一个通道之后)处切片 axis: 1(沿通道):

    layer {
      name: "slice-conv-pool"
      type: "Slice"
      bottom: "data"
      top: "conv1"
      top: "pool1"
      slice_param {
        axis: 1
        slice_point: 1
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-11-18
      • 2016-09-29
      • 2015-03-21
      • 1970-01-01
      • 2018-09-22
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      相关资源
      最近更新 更多