话不多说,请看调试图
说白了,就是里面是一个列表,装了一个字典,字典中包含keys有['params', 'lr', 'betas', 'eps', 'weight_decay', 'amsgrad'],通过字典操作可以改变其中的参数值。
一般来说,用的更多的是设置PyTorch的动态学习率,通过以上调试图片,我们知道了optimizer中包含lr的超参数,所以就可以修改,以下给了一种自写的函数方法。
def adjust_learning_rate(optimizer, epoch):
lr = 0.0001 * (0.1 ** (epoch // 5))
for param_group in optimizer.param_groups:
param_group['lr'] = lr
具体再train中的使用方法如下:
for epoch in range(args.start_epoch, args.epochs):
adjust_learning_rate(optimizer, epoch)
在训练epoch的时候放置即可。
以上是小白程序员终于通过调试看到了一直想看的optimizer中的一个param_groups属性内容,就是说有了pdb这个调试工具后,如鱼得水了很多。