为什么要调整学习率
主要属性:
optimizer:关联的优化器
last_epoch:记录epoch数
base_lrs:记录初始学习率
主要方法:
step():更新下一个epoch的学习率
get_lr():虚函数,计算下一个epoch的学习率
class _LRScheduler(object):
def __init__(self, optimizer, last_epoch=-1):
def get_lr(self):
raise NotImplementedError
pytorch的六种学习率调整策略
StrpLR
调整方式:lr = lr * gamma
lr_scheduler.StepLR(#等间隔调整学习率
optimizer,
step_size, #调整间隔数
gamma=0.1, #调整系数
last_epoch=-1
)
MultiStepLR
调整方式:lr = lr * gamma
lr_scheduler.MultiStepLR(#按给定间隔调整学习率
o