【发布时间】:2017-08-28 09:02:15
【问题描述】:
我想对网络中的标签图像进行二次采样,并且我希望该层的输出值都存在于输入标签图像中(即最近邻二次采样,而双线性二次采样则不存在)。 caffe中如何实现这样的一层?或者我在哪里可以找到现有开源代码中这一层的代码?
据我所知,deeplab代码中的interp层可以实现双线性二次采样,而二次采样的标签图像包含非法标签。
【问题讨论】:
标签: deep-learning caffe conv-neural-network
我想对网络中的标签图像进行二次采样,并且我希望该层的输出值都存在于输入标签图像中(即最近邻二次采样,而双线性二次采样则不存在)。 caffe中如何实现这样的一层?或者我在哪里可以找到现有开源代码中这一层的代码?
据我所知,deeplab代码中的interp层可以实现双线性二次采样,而二次采样的标签图像包含非法标签。
【问题讨论】:
标签: deep-learning caffe conv-neural-network
如果您只是在整数间隔对标签图像进行二次采样后,您可以使用卷积层的stride:
layer {
name: "sub-sample"
type: "Convolution"
bottom: "label"
top: "sub-sample"
param { lr_mult: 0 decay_mult: 0 } # do not learn this layer
convolution_param {
kernel_size: 1
pad: 0
stride: 2 # sub sample by 2
bias_term: false # no need for bias
weight_filler { type: "constant" value: 1 }
num_output: 1 # make it the SAME as input number of channels
group: 1 # same as num_output
}
}
【讨论】:
pooling layer 怎么样?您有 Max 和 Stochastic 池化方法,没有最近邻,但它适合您的输出值出现在原始输入中的需要。