pytorch中如何自适应调整学习率?
pytorch中torch.optim.lr_scheduler提供了一些基于epochs数目的自适应学习率调整方法。
torch.optim.lr_scheduler.ReduceLROnPlateau基于一些验证集误差测量实现动态学习率缩减。
1.torch.optim.lr_scheduler.LambdaLR(optimizer,lr_lambda,last_epoch=-1)
根据epoch,将每个参数组(parameter group)的学习速率设置为初始lr乘以一个给定的函数(epoch为自变量)。当last_epoch = -1时,将初始lr设置为lr。
lr_lambda (function or list) – A function which computes a multiplicative factor given an integer parameter epoch, or a list of such functions, one for each group in optimizer.param_groups.
函数或列表,一个给定epoch计算乘积系数的函数,或这样的函数的一个list,list中的每一个函数对应于optimizer.param_groups中的一个参数组。
last_epoch (int) – The index of last epoch. Default: -1.
Example:
>>> #Assuming optimizer has two groups.
>>> lambda1 = lambda epoch: epoch // 30
>>> lambda2 = lambda epoch: 0.95 **epoch>&