lr_mult = 0会产生什么影响?

时间:2018-05-15 16:22:26

标签: neural-network deep-learning computer-vision caffe image-segmentation

我正在查看一些Caffe网络构建代码(在BerkeleyVision pascalcontext-fcn8s net.py文件中),我发现这一行:

L.Deconvolution(n.score_fr,
    convolution_param=dict(num_output=60, kernel_size=4, stride=2,
        bias_term=False),
    param=[dict(lr_mult=0)])

我想知道lr_mult = 0这个词的作用。在查看文档后我的第一个猜测是它应该阻止对内核权重的任何更新,但这看起来很奇怪,因为我假设默认初始化是随机的。这是做什么的?是否有一些其他代码或参数文件正在初始化内核?

1 个答案:

答案 0 :(得分:2)

  1. 你是对的。设置lr_mult=0会冻结图层的权重。权重将保持固定,并且在整个培训期间不会从其初始值发生变化。
  2. 如果您按照代码操作,则会看到surgery.interp的来电,此功能会在训练开始前设置升级图层的初始权重。由于lr_mult=0,权重保持固定为这些值。