首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pytorch中实现torch.optim.lr_scheduler.LambdaLR时出错

在Pytorch中实现torch.optim.lr_scheduler.LambdaLR时出错
EN

Stack Overflow用户
提问于 2020-04-05 23:53:35
回答 1查看 1.8K关注 0票数 1

我正在研究一个图像分类器,并试图实现循环学习率,以获得更好的结果。我正在使用lr_scheduler.LambdaLR在训练期间调整学习率,但我遇到一个错误,我不确定是什么原因造成的。这是我的代码:

代码语言:javascript
复制
lr_find_epochs = 2
start_lr = 1e-7
end_lr = 0.1
# Set up the model, optimizer and loss function for the experiment

optimizer = torch.optim.SGD(model.parameters(), start_lr)
criterion = nn.NLLLoss()
# LR function lambda

lr_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中的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 03:42:03

这个问题是由这里的这行引起的

代码语言:javascript
复制
scheduler = torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda=lr_lambda)

如错误所示,您试图在赋值之前引用该值,即调用lambda函数时将其自身作为当前未赋值的参数。因此,在lr_scheduler.py中会引发错误

也许你想把其他东西传递给lambda函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61045293

复制
相关文章

相似问题

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