Est-il possible dans PyTorch de modifier dynamiquement le taux d'apprentissage de l'optimiseur au milieu de la formation (je ne veux pas définir de programme de taux d'apprentissage au préalable)?
Disons que j'ai un optimiseur:
optim = torch.optim.SGD(model.parameters(), lr=0.01)
Maintenant, en raison de certains tests que j'effectue pendant la formation, je me rends compte que mon taux d'apprentissage est trop élevé, donc je veux le changer pour dire 0.001
. Il ne semble pas y avoir de méthode optim.set_lr(0.001)
mais existe-t-il un moyen de le faire?
Ainsi, le taux d'apprentissage est stocké dans optim.param_groups[i]['lr']
. optim.param_groups
est une liste des différents groupes de poids qui peuvent avoir des taux d'apprentissage différents. Ainsi, simplement faire:
for g in optim.param_groups:
g['lr'] = 0.001
fera l'affaire.