如何在卷积层pycaffe中设置bias_term false?

How to set the bias_term false in a convolutional layer pycaffe?

我正在使用 pycaffe 创建我的网络,我想将卷积层中的偏置项设置为 false,但找不到任何操作方法。到目前为止我的代码片段:

import caffe
from caffe import layers als L, params as P

n.conv1 = L.Convolution(n.data,kernel_size = 3,stride = 1,num_output=16,pad=1,weight_filler=dict(type='xavier'))

正如您已经提到的,这是通过将 bias_term 参数设置为 false 来完成的。 通常,您可以在 Layer Catalogue 中找到大多数层及其参数的文档。您可以通过简单地使用 Layer 目录中记录的名称和值来设置 PyCaffe 中的任何参数。请记住,您必须使用正确的 Python 语法,即 False 而不是 false!

n.conv1 = L.Convolution(n.data,
                        kernel_size=3,
                        stride=1,
                        num_output=16,
                        pad=1,
                        weight_filler=dict(type='xavier'),
                        bias_term=False
                        )

这将在 .prototxt 文件中创建以下条目:

layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "xavier"
    }
  }
}

如您所见,该选项被正确识别并放入 convolution_param 块中。