如何在Caffe进行微调中设置大网的学习率?

时间:2016-01-04 07:16:44

标签: neural-network deep-learning caffe

我有很多层的大网。我在网络中添加了一个新的全连接层,并希望进行微调。但是,除了新的层之外,在每个层中设置lr_mult: 0非常困难,因为网络中有很多层。
如果有解决这些问题的好方法吗?

感谢。

1 个答案:

答案 0 :(得分:4)

如果不是在新的完全连接层之前为所有层设置lr_mult: 0,而是在新图层之后停止反向传播?

您可以通过设置propagate_down: false来实现 例如:

layer {
  name: "new_layer"
  type: "InnerProduct"
  ...
  inner_product_param {
    ...
  }
  propagate_down: false # do not continue backprop after this layer
}

或者,您可以使用命令行实用程序sed直接更改原型文件中的所有条目:

~$ sed -i -E 's/lr_mult *: *[0-9]+/lr_mult: 0/g' train_val.prototxt

这一行会将lr_mult中的所有train_val.prototxt更改为零。您只需要手动为新图层设置lr_mult