【问题标题】:How to set local biases in caffe and torch?如何在 caffe 和 torch 中设置局部偏差?
【发布时间】:2016-11-12 06:43:39
【问题描述】:

将多通道图像卷积为一个通道图像时,通常只能有一个偏差变量(因为输出是一个通道)。如果要设置局部偏差,即为输出图像的每个像素设置偏差,在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 有类似的解决方案吗?

【问题讨论】:

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


    【解决方案1】:

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

    对于torch来说,torch有一个nn.Add()层,和tensorflow的tf.add()函数差不多,所以nn.Add()层就是解决方案。

    这些都已经被实际模型证明了。

    不过还是非常感谢@Shai

    【讨论】:

    • 你显然是对的 "Bias" 层是正确的方法。但是,如果您密切注意,"Scale" 层和 bias_term: true 有一个 "Bias" 层内置在其中,因此允许 2D(“本地”)偏差项。
    猜你喜欢
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多