知乎对应:【tricks】学习率调整策略lr_scheduler
后期主要针对知乎进行更新~~~请移步知乎哦
学习率是深度学习训练中至关重要的参数,很多时候一个合适的学习率才能发挥出模型的较大潜力。
Pytorch中常见的学习率调整方法。
文章目录
一、整体代码框架
Pytorch 实现的绘制学习率轮次变化图
import torch
import matplotlib.pyplot as plt
import torchvision.models as models
import torch.optim.lr_scheduler as lr_scheduler
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False
def get_lr(optimizer): # 从优化器中读取学习率
for param_group in optimizer.param_groups:
return param_group['lr']
if __name__ == "__main__":
# ------------------------------------#
# 神经网络模型
# ------------------------------------#
model = models.resnet18(pretrained=False)
# ------------------------------------#
# 训练设置
# ------------------------------------#
number_epoches = 500
# 学习率和优化策略
learning_rate = 1e-1
optimizer = torch.optim.Adam(model.parameters(), learning_rate, weight_decay=