小白学Pytorch系列-- torch.autograd API

news/2024/9/21 16:50:42/

小白学Pytorch系列-- torch.autograd API

torch.Autograd提供了实现任意标量值函数的自动微分的类和函数。它只需要对现有代码进行最小的更改-你只需要声明张量s,它的梯度应该用requires grad=True关键字计算。到目前为止,我们只支持浮点张量类型(half, float, double和bfloat 16)和复杂张量类型(cfloat, cdouble)autograd

基本概念

Variable,Parameter和torch.tensor()

torch.nn.Parameter(是Variable的子类)
如果在网络的训练过程中需要更新,就要定义为Parameter,  类似为W(权重)和b(偏置)也都是Parameter

Variable默认是不需要求梯度的,还需要手动设置参数 requires_grad=TrueVariable因为要多次反向传播,那么在backward的时候还要手动注明参数(),就非常麻烦。
Pytorch主要通过引入nn.Parameter类型的变量和optimizer机制来解决了这个问题。ParameterVariable的子类,本质上和后者一样,只不过parameter默认是求梯度的,同时一个网络中的parameter变量是可以通过 net.parameters() 来很方便地访问到的,只需将网络中所有需要训练更新的参数定义为Parameter类型,再用以optimizer,就能够完成所有参数的更新了,例如:optimizer = torch.optim.SGD(net.parameters(), lr=1e-1)

相同点
:torch.tensor()torch.autograd.Variabletorch.nn.Parameter基本一样。
前两者都可以设置requires_grad参数,后者则直接默认requires_grad=True
三者都拥有.data,.grad,.grad_fn等属性。
所以,只要requires_grad=True,都可以计算梯度以及backward()

不同之处:
torch.nn.Parameter,直接默认requires_grad=True,在参数量大时更加方便。

反向传播

参考: https://blog.csdn.net/lj2048/article/details/113527400
实现autograd依赖于Variable和Function这两种数据类型。Variable是Tensor的外包装,Varibale和Tensor基本一致,区别在于多了下面几个属性。

variable类型变量的data属性存储着Tensor数据,grad属性存储关于该变量的导数,creator是代表该变量的创造者。
VariableFunction它们是彼此不分开的,如下图所示,是数据向前传输和向后传输生成导数的过程。

如图,假设我们有一个输入变量input(数据类型为Variable),input是用户输入的,所以其创造者creator为null值,input经过第一个数据操作operation1(比如加减乘除运算)得到output1变量(数据类型仍为Variable),这个过程中会自动生成一个function1的变量(数据类型为Function的一个实例),而output1的创造者就是这个function1。随后,output1再经过一个数据操作生成output2,这个过程也会生成另外一个实例function2,output2的创造者creator为function2。

示例可以参考该Blog: 参考PyTorch教程之Autograd

目标张量一般都是标量,如我们经常使用的损失值Loss,一般都是一个标量。但也有非标量的情况,后面将介绍的Deep Dream的目标值就是一个含多个元素的张量。那如何对非标量进行反向传播呢?

PyTorch有个简单的规定,不让张量(Tensor)对张量求导,只允许标量对张量求导,
因此,如果目标张量对一个非标量调用backward(),则需要传入一个gradient参数,该参数也是张量,而且需要与调用backward()的张量形状相同。

参考

https://zhuanlan.zhihu.com/p/321449610


http://www.ppmy.cn/news/38426.html

相关文章

数据库系统工程师——考试分析(2023备考)

数据库系统工程师——考试分析(2023备考)

⏰1、考试时间 2023年5月27日 上午 9:00~11:30 基础知识 下午 14:00~16:30 应用技术 ❓ 2、考核标准 所有科目达到45分为合格,任何一个科目低于45分的,都算不合格。 💯 3、考情分析 科目一:基础知识 客观题:75空 …
阅读更多...
209. 长度最小的子数组

209. 长度最小的子数组

209. 长度最小的子数组 力扣题目链接(opens new window) 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入…
阅读更多...
排序输入的高效霍夫曼编码 | 贪心算法 3

排序输入的高效霍夫曼编码 | 贪心算法 3

前面我们讲到了 贪心算法的哈夫曼编码规则,原理图如下: 如果我们知道给定的数组已排序(按频率的非递减顺序),我们可以在 O(n) 时间内生成霍夫曼代码。以下是用于排序输入的 O(n) 算法。1.创建两个空队列。2.为每个唯一…
阅读更多...
Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信

Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信

原文:https://automatetheboringstuff.com/2e/chapter18/ 检查和回复电子邮件是一项巨大的时间消耗。当然,你不能只写一个程序来帮你处理所有的邮件,因为每封邮件都需要它自己的回应。但是,一旦你知道如何编写可以发送和接收电子邮…
阅读更多...
装饰器设计模式

装饰器设计模式

目录 前言: 装饰器的应用 总结: 参考资料 前言: 我们都知道组合优于继承,其中有一个很重要的点就是组合能很好的解决继承层数过多,代码复杂度升高的问题,装饰器模式在某种意思上也是为了解决继承爆炸的…
阅读更多...
神奇智能搜索引擎:perplexity智能搜索引擎(ChatGPT与Edge合体——联网版chatGPT)

神奇智能搜索引擎:perplexity智能搜索引擎(ChatGPT与Edge合体——联网版chatGPT)

目录前言一、Perplexity AI网站介绍二、优点介绍2-0、界面介绍2-1、纯净、时效性、来源说明2-2、基于AI对话形式的搜索引擎三、使用方法介绍总结前言 ChatGPT背后的语言大模型OpenAI GPT 3.5,和微软的必应检索系统整合在一起;同时吸取这二者的长处&#…
阅读更多...
mysql调优排序优化,子查询优化

mysql调优排序优化,子查询优化

mysql调优 排序优化 消除using fileshort: 场景一:select id from table order by col1 为排序字段(col1)添加索引(索引本身是有序的) 场景二:select id form table order by col1,col2 错误的做法:给他们…
阅读更多...
计算机信息技术,有哪些SCI期刊推荐?

计算机信息技术,有哪些SCI期刊推荐?

以下是计算机信息技术领域的SCI期刊介绍: IEEE Transactions on Computers: IEEE计算机学会的权威期刊,发表计算机领域的研究论文,包括硬件、软件、算法等方面。 ACM Transactions on Computer Systems: ACM计算机协…
阅读更多...
最新文章

天下网标王如何给网站优化整站优化网站网站seo优化网站本地网站优化公司排名网站优化排名推广找兴田德润整站网站优化全包吴川网站优化软件韶关模板网站优化营销望谟网站seo优化价格汕头网站优化服务为先江苏网站百度快照优化上海做网站优化公司苏州网站关键字优化洪梅服装网站优化怎么办长宁区360网站优化机构云浮首页网站关键词优化多少钱教育网站怎么优化关键词邯郸服务好的网站优化外贸网站优化哪家不错网站优化外包优选云速捷seo网站优化新闻崇明区企业官网网站优化案例故城县优化网站推广昆明网站seo优化多少一年云浮企业网站优化哪家快阳谷网站优化报价儋州网站推广优化宁波优化网站经销商兰州快速网站优化怎么做益阳网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化