1 优化器
optimizer = optim.Adam(model.parameters(), lr=LEARNING_RATE) ## 构造一个优化器
scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=sch, gamma=0.1) ## 优化器更## 新
## class torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1)
# 更新策略:
# 每过step_size个epoch,做一次更新:
# new_lr = initial_lr×γepoch // step_size new_lr = initial_lr\times\gamma^{epoch // step_size}new_lr=initial_lr×γepoch//step_size
# 其中new_lr new_lr new_lr是得到的新的学习率,initial_lr initial_lrinitial_lr是初始的 # 学习率,step_size step_size step_size是参数step_size,γ \gammaγ是参数gamma。
# 参数:
# optimizer (Optimizer):要更改学习率的优化器;
# step_size(int):每训练step_size个epoch,更新一次参数;
# gamma(float):更新lr的乘法因子;
# last_epoch (int):最后一个epoch的index,如果是训练了很多个epoch后中断了,继续训 # 练,这个值就等于加载的模型的epoch。默认为-1
# 表示从头开始训练,即从epoch = 1开始。