对全局微调时,我们希望改换过的层和其他层的学习速率不一样,这时候把其它层和新层在optimizer中单独赋予不同的学习速率。
ignored_params = list(map(id, model.fc.parameters())) base_params = filter(lambda p: id(p) not in ignored_params, model.parameters()) optimizer = torch.optim.SGD([ {'params': base_params}, {'params': model.fc.parameters(), 'lr': 1e-3} ], lr=1e-2, momentum=0.9)
如果对某个参数不指定学习率,就使用最外层的默认学习率
Pytorch为不同层设置不同的学习率(全局微调)
最新推荐文章于 2024-03-13 16:40:14 发布