Я видел код , который использует оптимизатор Adam. И то, как они уменьшают скорость обучения, выглядит следующим образом:
optimizer = torch.optim.Adam(net.parameters(),lr=0.01)
(training...
optimizer.step()...)
if iteration >= some_threshold:
for param_group in optimizer.param_groups:
param_group['lr'] = 0.001
Я думал, что у нас одинаковая скорость обучения для всех параметров. Итак, зачем тогда перебирать param_groups и индивидуально устанавливать скорость обучения для каждого параметра?
Разве следующее не будет быстрее и не даст идентичный эффект?
optimizer = torch.optim.Adam(net.parameters(),lr=0.01)
scheduler = MultiStepLR(optimizer, milestones=[some_threshold], gamma=0.1)
(training...
optimizer.step()
scheduler.step())
Спасибо