pytorch自定义调整学习率的方法

"该博客介绍了如何在PyTorch中手动设置和调整学习率。通过(optimizer.state_dict()["param_groups"][0]["lr"])或(optimizer.param_groups[0]["lr"])可以访问并修改学习率。在每个epoch循环中,当epoch除以5余数为0时,学习率乘以0.9以实现衰减。示例代码展示了学习率随训练进程递减的过程。"
摘要由CSDN通过智能技术生成

一种自己设置调整学习率的方法,可以放在epoch循环里。

1.optimizer.state_dict()和optimizer.param_groups

optimizer.state_dict()是一个字典,和model.state_dict()类似,包含优化器的state信息和param_groups的字典对象

optimizer = torch.optim.Adam(Net.parameters(),lr=lr)
print(optimizer.state_dict().keys())

输出:dict_keys(['state', 'param_groups'])

其中,“param_groups”这个key对应的value是一个:长度为一的链表,链表里面是个由学习率,动量等参数组成的字典对象。

print(optimizer.state_dict()["param_groups"])

输出:[{'lr': 0.01, 'betas': (0.9, 0.999), 'eps': 1e-08, 'weight_decay': 0, 'amsgrad': False, 'params': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}]

optimizer.param_groups是长度为2的list,其中的元素是2个字典;
optimizer.param_groups[0]:长度为6的字典,包括[‘amsgrad’, ‘params’, ‘lr’, ‘betas’, ‘weight_decay’,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值