ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pytorch自定义各层学习率

2021-05-13 17:02:42  阅读:191  来源: 互联网

标签:自定义 网络层 各层 param pytorch lr params net id


写了一下午的代码,总结一下,方便后人必坑

网络上有部分代码未正确地使用了filter,请出现错误的同学仿照我的代码实现该功能。

pytorch optimizer支持传入params参数,以完成不同的网络层可以选取不同的学习率。
用到的两个函数分别为map(获取parameter_id)、filter (筛选)
直接上代码:

# 想要特殊lr的网络层, **改为网络层名称
zsj_lr_param = list(map(id, net.**.parameters()))
# 其他网络层统一参数
other_lr_param = list(filter(lambda x: id(x) not in zsj_lr_param, net.parameters())
# 传入参数, 请注意第一行写法
params = [{'params':net.**.parameters(), 'lr':1e-1},
{'params':other_lr_param , 'lr':1e-2}]
optimizer = torch.optim.Adam()

标签:自定义,网络层,各层,param,pytorch,lr,params,net,id
来源: https://blog.csdn.net/DanielZzzsj/article/details/116756462

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有