【问题标题】:How to change the learning rate of specific layer from the solver prototxt (CAFFE)如何从求解器 prototxt (CAFFE) 更改特定层的学习率
【发布时间】:2015-12-01 02:37:12
【问题描述】:

有人知道如何从求解器 prototxt 更改 CAFFE 中特定层的学习率lr_mult 吗?我知道有 base_lr,但是我想针对特定层的速率,并从求解器而不是网络 prototxt 进行。

谢谢!

【问题讨论】:

    标签: deep-learning caffe


    【解决方案1】:

    每个需要学习的层(即卷积层、全连接层等)都有一个特定的lr_mult 参数,可以专门针对该层进行控制。 lr_mult 是“此参数的全局学习率的乘数”。

    只需在train_val.prototxt 中为您的层定义或更改lr_mult

    这对于微调很有用,您可能只想提高新层的学习率。

    有关更多信息,请查看 caffe fine-tuning 教程。 (注意:它有点过时了,这里使用了已弃用的术语blobs_lr,而不是lr_mult

    编辑:据我所知,无法从solver.prototxt 定义特定于层的学习率。因此,假设solver.prototxt 的限制并不严格,我建议使用不同的方法来达到相同的结果。

    【讨论】:

    • OP 特别询问了一种从 solver.prototxt 而不是从 train_val.prototxt 更改 lr_mult 的方法。那么你的帖子是如何回答这里的问题的呢?
    • @shai 我认为“solver.prototxt 不是做出架构级决策的地方;这里是如何正确地做到这一点”的答案是一个有效的答案。这个问题几乎是一个 X-Y 问题;在没有激励你为什么需要在求解器级别做出这个决定的情况下,我只能假设 OP 在这里没有做一些明智的事情
    猜你喜欢
    • 2019-06-12
    • 1970-01-01
    • 2019-04-27
    • 2021-07-15
    • 2017-09-09
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    相关资源
    最近更新 更多