【问题标题】:How to define per-layer learning rate in mxnet.gluon?如何在 mxnet.gluon 中定义每层学习率?
【发布时间】:2019-04-27 07:09:03
【问题描述】:

我知道可以冻结网络中的层,例如只训练预训练模型的最后一层。 但是,我想知道有没有办法将某些学习率应用于不同的层。例如,在 pytorch 中会是:

    optimizer = torch.optim.Adam([
                    {'params': paras['conv1'], 'lr': learning_rate / 10},
                    {'params': paras['middle'], 'lr': learning_rate / 3},
                    {'params': paras['fc'], 'lr': learning_rate }
                 ], lr=learning_rate)

胶子和火炬的接口几乎相同。知道如何在胶子中做到这一点吗?

【问题讨论】:

    标签: machine-learning deep-learning mxnet


    【解决方案1】:

    可以通过修改lr_mult来调整每一层的学习率:

    for key, value in model.collect_params().items():
       print value.lr_mult
    

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 2016-04-28
      • 1970-01-01
      • 2019-06-12
      • 2017-08-09
      • 2016-11-19
      • 1970-01-01
      • 2020-10-22
      相关资源
      最近更新 更多