如何在咖啡和火炬中设置局部偏差?

时间:2016-07-10 02:08:40

标签: machine-learning neural-network deep-learning caffe torch

当将多通道图像卷积成一个通道图像时,通常只能有一个偏置变量(因为输出是一个通道)。如果我想设置局部偏差,即为输出图像的每个像素设置偏差,我该如何在caffe和torch中做到这一点?

在Tensorflow中,这非常简单。你只需设置一个偏差矩阵,例如:

数据为25(height)X25(width)X48(channels)

权重为3X3(kernel size)X48(input channels)X1(output channels)

偏见是25X25

然后,

hidden = tf.nn.conv2d(data, weights, [1, 1, 1, 1], padding='SAME')    
output = tf.relu(hidden+biases)

caffe ortorch中是否有类似的解决方案?

1 个答案:

答案 0 :(得分:3)

对于caffe,这是一个比例图层帖子:Scale layer in Caffe。比例图层只能提供一个变量偏差。 答案是偏见层。偏置层可以有一个权重矩阵,将其视为偏差。

对于火炬,火炬有一个nn.Add()层,几乎与tensorflow的tf.add()函数一样,所以nn.Add()层就是解决方案。

所有这些都已通过实际模型证明。

但是仍然非常感谢@Shai