pytorch学习总结(一)(SGD随机梯度下降、学习率调整策略、train模式)

2023-11-12

看了几个月的理论,总算是开始实践了;学习了几个月,这门学问中数学的应用还挺有意思的,比现在的工作有意思多了。

1、torch.optim.SGD

trainer = torch.optim.SGD(net.parameters(), lr=lr, momentum=0.9 weight_decay=wd)
trainer.zero_grad()
trainer.step()

trainer = torch.optim.SGD(params,lr, momentum, dampenning, weight_decay,nesterov)
神经网络优化器,使训练过程快起来,节省训练神经网络的时间。
pytorh中torch.optim为各种优化算法的包。
使用torch.optim,首先需要构建一个optimizer对象,这个对象能保持当前参数的状态,并基于计算得到的梯度进行参数更新。
trainer:optimizer对象
net.parameters():待优化参数的iterable(w和b的迭代)
trainer.step() 用来更新参数

SGD随机梯度下降,本质上还是实现的批量梯度下降,即使用全部样本的均值来更新学习参数。全部样本,可以是全部数据,也可以是一个batch。因为计算梯度是调用的backword函数,而backword函数是通过损失张量调用的,损失值的计算和样本集的选取息息相关,大多时候我们使用一个batch的样本去计算损失,再调用backward,那么调用sgd的时候使用的是这个batch的梯度去更新可学习参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytorch学习总结(一)(SGD随机梯度下降、学习率调整策略、train模式) 的相关文章

随机推荐

  • flask_sqlalchemy中的db.session.query()和model.query()的区别

    先申明一下 我喜欢从问题入手 问题描述 使用db session commit 提交数据后 使用model query 查不到新增加的数据 问题原因分析 db session commit 是提交了数据到数据库 但是没有刷新模型映射中的数据
  • 使用Fabric8 kubernetes-client java client 操作kuberntes 自定义资源CR

    kubernetes client fabric8 to interact with kubernetes custom resources kubernetes中的一切东西都叫做 resource k8s 默认的提供了很多 resourc
  • 【Python】初识Python

    目录 执行Python的文件有三种方式 注释的细节 算术运算符 变量 输入与输出函数 input函数 print函数 强制类型转换函数 Python程序的特点 Python源程序本质上是一个特殊格式的文本文件 只不过它的后缀扩展名是 py
  • python将秒数转化为时间格式

    1 转化成时间格式 seconds 35400 m s divmod seconds 60 h m divmod m 60 print d 02d 02d h m s 结果 9 50 00 2 转化成日期时间格式 import time t
  • 服务service设置

    2017 03 10 一点简单的讲解 http cwtea blog 51cto com 4500217 842002 service命令只有很简单的几个参数 start restart reload status stop 不能利用这个命
  • 自学Python能学会吗?

    这是一个非常好的问题 作为一名IT从业者 同时也是一名教育工作者 我来回答一下 首先 随着当前Python语言的应用越来越普遍 很多职场人和大学生都希望能够通过掌握Python语言来提升职场价值和岗位竞争力 由于Python语言本身比较简单
  • FreeRTOS-信号量详解

    作者简介 嵌入式入坑者 与大家一起加油 希望文章能够帮助各位 个人主页 rivencode的个人主页 系列专栏 玩转FreeRTOS 保持学习 保持热爱 认真分享 一起进步 目录 前言 一 信号量的简介 二 FreeRTOS信号量 1 二值
  • 牛客题:Java静态块、构造块执行顺序

    public class Test public static Test t1 new Test 静态变量 构造块 System out println AAA 静态块 static System out println BBB publi
  • 【C++】模拟实现二叉搜索树(附源码、测试用例)

    二叉搜索树 一 前言 二 模拟实现 1 构建树的单个节点 2 二叉搜索树的概念 3 构造函数与析构函数 4 赋值与拷贝构造 5 实现插入 6 实现删除 7 实现查找 8 实现遍历 三 源码及部分测试用例 一 前言 二叉搜索树 和普通的二叉树
  • 立创梁山派学习笔记——GPIO输入检测

    按键检测 前言 按键的硬件电路 BOOT选择 复位按键 唤醒按键 GPIO输入框图 软件配置 寄存器简介 1 端口控制寄存器 GPIOx CTL x A I 2 端口上拉 下拉寄存器 GPIOx PUD x A I 3 端口输入状态寄存器
  • 上传代码到gitee:常用命令详解

    目录 一 创建仓库 二 首次上传 三 添加代码后在上传 四 创建分支 创建dev分支 五 合并分支 六 删除分支 看个人需求 一 创建仓库 下面是创建好的仓库 无任何代码上传的状态 二 首次上传 第一步 git config global
  • 2022-3-26 Leetcode 09.字符串轮转

    class Solution public bool isFlipedString string s1 string s2 if s1 size s2 size return false string s s2 s2 return s fi
  • Bridging ConvNeXt and U-Net for medical image segmentation

    最近在收集论文时发现一篇比较有趣的论文 当提到ConvNeXt时 大家应该都知道 比较这个网络跟Transformer 一较高低的网络 在前段时间transformer 很多的时候 涌现了许多将transformer和U Net 相结合的网
  • 轻量应用服务器性能如何?CPU带宽流量系统盘测评

    轻量应用服务器性能如何 腾讯云轻量应用服务器是一种轻量级搭建小型网站和应用的服务器 相对于其他更高性能配置的服务器CVM 性价比更高 虽然其性能不如高性能云服务器CVM 但对于小型网站和应用来说 能够提供基本的计算和存储资源 可以满足基础的
  • STM32之模拟IIC总线通信(C++)

    目录 前言 主要内容 头文件 辅助函数 相关信号函数 起始信号 停止信号 接收应答信号 发送应答信号 发送非应答信号 发送一个字节数据 接收一个字节数据 应用 前言 上一篇也讲解了STM32的模拟IIC总线通信 其所使用的语言为C语言 但也
  • 人脸论文集选

    人脸论文集选 一 Face Detection 级联网络用于人脸检测 A Convolutional Neural Network Cascade for Face Detection CVPR2015 code https github
  • org.hibernate.id.IdentifierGenerationException

    问题 org hibernate id IdentifierGenerationException ids for this class must be manually assigned before calling save 原因 在添
  • Linux 上安装 Go 环境

    如果你向自己下载并编译 Go 的源代码的话 你可以根据这个页面找到安装指南和下载地址 Download the Go distribution 接下来也会带你一步步地完成安装过程 设置 Go 环境变量 我们在 Linux 系统下一般通过文件
  • 来点动力吧,存够300W退休

    这样写也可以 11年后退休 加油吧
  • pytorch学习总结(一)(SGD随机梯度下降、学习率调整策略、train模式)

    看了几个月的理论 总算是开始实践了 学习了几个月 这门学问中数学的应用还挺有意思的 比现在的工作有意思多了 1 torch optim SGD trainer torch optim SGD net parameters lr lr mom