为了账号安全,请及时绑定邮箱和手机立即绑定

实现torch.optim.lr_scheduler时出错。

实现torch.optim.lr_scheduler时出错。

慕桂英546537 2022-09-27 09:50:45
我正在研究一个图像分类器,并试图实现循环学习率以获得更好的结果。我正在使用lr_scheduler。LambdaLR在训练期间调整学习速率,但我遇到了一个错误,我不确定是什么原因造成的。这是我的代码:lr_find_epochs = 2start_lr = 1e-7end_lr = 0.1# Set up the model, optimizer and loss function for the experimentoptimizer = torch.optim.SGD(model.parameters(), start_lr)criterion = nn.NLLLoss()# LR function lambdalr_lambda = lambda x: math.exp(x * math.log(end_lr / start_lr) / (lr_find_epochs * len( train_loader)))scheduler = torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda=lr_lambda)这是我遇到的错误:lr_scheduler.py中的错误。
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

问题是由此处的此行引起的

scheduler = torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda=lr_lambda)

由于错误表明您尝试在分配值之前引用值,即lambda函数被调用自身作为当前未分配给任何内容的参数。因此,在lr_scheduler.py

也许您想将其他内容传递给 lambda 函数。


查看完整回答
反对 回复 2022-09-27
  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信