优化器
import torch.optim as optim
# dir查看, 里面支持的优化器
# 'ASGD', 'Adadelta', 'Adagrad', 'Adam', 'AdamW', 'Adamax', 'LBFGS', 'NAdam',
# 'Optimizer', 'RAdam', 'RMSprop', 'Rprop', 'SGD', 'SparseAdam'
# 模型, 学习率,加权平均 动量算法
# 方法一 推荐
optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9)
# 辅助方法
# 学习率每隔10轮变为原来的0.5
lr_scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=10, gamma=0.5)
# 方法二
# optimizer = optim.Adam([var1, var2], lr=0.0001)
print(dir(optim))
优化器:默认10轮后loss没有变化自动减少学习率
from torch.optim.lr_scheduler import ReduceLROnPlateau
# 优化器
optimizer = optim.Adam(model.parameters(), lr=0.001)
# 减少LR
scheduler = ReduceLROnPlateau(optimizer, 'min')