如何在mxnet.gluon中定义每层学习率?

时间:2018-11-25 12:44:06

标签: machine-learning deep-learning mxnet

我知道可以冻结网络中的各个层,例如仅训练预训练模型的最后一层。 但是,我想知道有什么方法可以将某些学习率应用于不同的层次。例如,在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)

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

1 个答案:

答案 0 :(得分:2)

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

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