zoukankan      html  css  js  c++  java
  • 深度之眼PyTorch训练营第二期 --- 10、优化器

    1、什么是优化器?

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

    导数:

    方向导数

    梯度

    2、optimizer的属性

    defaults:优化器超参数

    state:参数的缓存,如momentum的缓存

    params_groups:管理的参数组

    _step_count:记录更新次数,学习率调整中使用

    3、optimizer的方法

    zero_grad():清空所管理参数的梯度 【Pytorch特性:张量梯度不自动清零

    step():执行一步更新

    add_param_group():添加参数组

    state_dict():获取优化器当前状态信息字典

    load_state_dict():加载状态信息字典

    4、learning rate学习率

    5、momentum动量

    6、torch.optim.SGD

    主要参数:

    • params:管理的参数组
    • lr:初始学习率
    • momentum:动量系数,贝塔
    • weight_decay:L2正则化系数
    • nesterov:是否采用NAG

    7、Pytorch的十种优化器

    optimer.SGD:随机梯度下降法

    optimer.Adagrad:自适应学习率梯度下降法

    optimer.RMSprop:Adagrad的改进

    optimer.Adadelta:Adagrad的改进

    optimer.Adam:RMSprop结合Momentum

    optimer.Adamax:Adam增加学习率上限

    optimer.SparseAdam:稀疏版的Adam

    optimer.ASGD:随机平均梯度下降

    optimer.Rprop:弹性反向传播

    optimer.LBFGS:BFGS的改进

    区别!!

  • 相关阅读:
    【作业4】测试作业-兴趣问题清单
    【读后感3】高效程序员的45个习惯
    【作业3】关于C语言的问卷调查
    【作业2】价值观作业
    Spring的零配置
    Spring容器中bean的作用域
    Spring注入方式
    Spring整合Struts2
    my first go
    Struts2对ajax的支持
  • 原文地址:https://www.cnblogs.com/cola-1998/p/11818420.html
Copyright © 2011-2022 走看看