欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pytorch优化器-Optimizer

程序员文章站 2022-07-06 10:19:57
...

简介

pytorch优化器:管理并更新模型中可学习参数的值,是的模型输出更接近真实标签。

导数:函数在指定坐标轴上的变化率
方向导数:指定方向上的变化率
梯度:一个响亮,方向为方向导数取得最大值的方向
Pytorch优化器-Optimizer

pytorch中的optimizer

基本属性:

  • default:优化器超参数
  • state:参数的缓存,如momentum的缓存
  • param_groups:管理的参数组
  • _step_count:记录更新次数,学习率调整中使用

Pytorch优化器-Optimizer

基本方法

  • zero_grad():清空所管理参数的梯度
    pytorch特性:张量梯度不会自动清零 需要在使用完梯度之后需要清零
  • step():实行一步参数更新
  • add_param_group():添加参数组
  • state_dict():获取优化器当前状态信息字典
  • load_state_dict():加载状态信息字典
    后两个方法,用于模型断点状态训练
optimizer=optim.SGD(net.parameters(),lr=LR,momentum=0,9) #选择优化器
scheduler=torch.optim.lr_scheduler.StepLR(optimizer,step_size=10,gamma=0.1) #设施学习率下降策略

保存优化器信息

torch.save(optimizer.state_dict(),os.path.join(BASE_DIR,"optimizer_state_dict.pkl"))


##lode sate_dict
state=torch.load(os.path.join(BASE_DR,"optimizer_state_dict.pkl"))
optimizer.load_sate_dict(state)

常用的优化器

相关标签: Pytorch学习笔记