首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在pytorch中为不同的层设置不同的学习率?

如何在pytorch中为不同的层设置不同的学习率?
EN

Stack Overflow用户
提问于 2017-05-06 16:15:36
回答 1查看 2.6K关注 0票数 10

我正在使用resnet50对pytorch进行微调,希望将最后一个完全连接层的学习率设置为10^-3,而将其他层的学习率设置为10^-6。我知道我可以遵循它文档中的方法:

代码语言:javascript
复制
optim.SGD([{'params': model.base.parameters()},
           {'params': model.classifier.parameters(), 'lr': 1e-3}], 
          lr=1e-2, momentum=0.9)

但是有没有我不需要逐层设置参数的情况呢?

EN

回答 1

Stack Overflow用户

发布于 2018-07-31 04:01:24

可以对图层进行编组。如果要对所有线性图层进行分组,最好的方法是使用modules

代码语言:javascript
复制
param_grp = []

for idx, m in enumerate(model.modules()):
    if isinstance(m, nn.Linear):
        param_grp.append(m.weight)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43818246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档