我想在Caffe中分割Blob通道,这样我就可以分割一个Blob(N, c, w, h)
分成两个大小相同的输出 Blob(N, c/2, w, h)
.
我上面描述的是非常笼统的,我实际上想做的是将一个两通道输入图像分离成两个不同的图像。一个进入卷积层,另一个进入池化层。最后,我连接输出。
所以我想知道是否存在允许用户执行此类操作的 Caffe 层,以及如何在 prototxt 文件中定义它。
是的Slice
层就是为了这个目的。来自图层目录 http://caffe.berkeleyvision.org/tutorial/layers.html:
The Slice
层是一个实用层,它将输入层沿给定维度分割为多个输出层(目前num
or channel
仅)具有给定的切片索引。
对 Blob 大小进行切片N x 2 x H x W
分成两个大小的 BlobN x 1 x H x W
,你必须切片axis: 1
(沿渠道)slice_point: 1
(在第一个通道之后):
layer {
name: "slice-conv-pool"
type: "Slice"
bottom: "data"
top: "conv1"
top: "pool1"
slice_param {
axis: 1
slice_point: 1
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)