ple*_*unt 6 python machine-learning deep-learning pytorch
在培训期间,我想知道learning_rate的价值。我该怎么办?
这是我的代码,像这样:
my_optimizer = torch.optim.SGD(my_model.parameters(),
lr=0.001,
momentum=0.99,
weight_decay=2e-3)
Run Code Online (Sandbox Code Playgroud)
谢谢。
Zah*_*hra 12
或者,您可以将lr_scheduler优化器与优化器一起使用,并简单地调用内置lr_scheduler.get_lr()方法。
这是一个例子:
my_optimizer = torch.optim.Adam( my_model.parameters(),
lr = 0.001,
weight_decay = 0.002)
my_lr_scheduler = torch.optim.lr_scheduler.StepLR( my_optimizer,
step_size = 50,
gamma = 0.1)
# train
...
my_optimizer.step()
my_lr_scheduler.step()
# get learning rate
my_lr = my_lr_scheduler.get_lr()
# or
my_lr = my_lr_scheduler.optimizer.param_groups[0]['lr']
Run Code Online (Sandbox Code Playgroud)
使用的额外好处lr_scheduler是可以更好地控制随时间变化的 lr;lr_decay 等。有关 lr_scheduler args,请参阅 pytorch docs。
blu*_*nox 11
对于仅一个参数组(如您给出的示例),您可以使用此函数并在训练过程中调用它以获取当前的学习率:
def get_lr(optimizer):
for param_group in optimizer.param_groups:
return param_group['lr']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5301 次 |
| 最近记录: |