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的改进

    区别!!

  • 相关阅读:
    Linux驱动学习之驱动开发准备工作
    Linux驱动学习之什么是驱动?
    gslX680驱动的移植实践
    I2C总线驱动框架详解
    Linux内核中断学习
    USB之基本协议和数据波形1
    kernel 进阶API
    内核mailbox
    内核ring buffer -- kfifo
    Linux V4L2之camera
  • 原文地址:https://www.cnblogs.com/cola-1998/p/11818420.html
Copyright © 2011-2022 走看看