Pytorch线性回归实现(原理)

设置梯度

直接在tensor中设置 requires_grad=True,每次操作这个数的时候,就会保存每一步的数据。也就是保存了梯度相关的数据。

import torch
x = torch.ones(2, 2, requires_grad=True)  #初始化参数x并设置requires_grad=True用来追踪其计算历史
print(x)
#tensor([[1., 1.],
#        [1., 1.]], requires_grad=True)y = x+2
print(y)
#tensor([[3., 3.],
#        [3., 3.]], grad_fn=<AddBackward0>)z = y*y*3  #平方x3
print(x)
#tensor([[27., 27.],
#        [27., 27.]], grad_fn=<MulBackward0>) out = z.mean() #求均值
print(out)
#tensor(27., grad_fn=<MeanBackward0>)

                                                        图1.1

想要修改的话:x.requires_grad_(True),就把x变为可以追踪(中间计算结果都保存)的数了。

不想修改了

with torch.no_gard():c = (a * a).sum()  #tensor(151.6830),此时c没有gard_fn

把内容放在torch.no_gard():下就可以了

梯度计算

计算梯度:直接调用.backward()就行。

例如上面图1.1,out.backward()就行

获取梯度:调用那个数.gard

注意:如果.grad在循环中,每次都会和之前的.grad叠加。

所以每次反向传播之后,都需要把梯度变为0再进行操作。


 

使用.data获取里面的数据。相当于直接拷贝了一份数据,而不改变原数据的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521168.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫实战——巴黎圣母院新闻【内附超详细教程,你上你也行】

文章目录 发现宝藏一、 目标二、简单分析网页1. 寻找所有新闻2. 分析模块、版面和文章 三、爬取新闻1. 爬取模块2. 爬取版面3. 爬取文章 四、完整代码五、效果展示 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不…

操作系统发布时间表(1984-2024年)

操作系统发布时间表&#xff08;1984-2024年&#xff09; 80年代90年代00年代10年代20年代 80年代 时间WindowsAppleBSDLinuxOthers1984-01Mac OS (System 1.0)1985-11Windows 1.01987MINIX1987-12Windows 2.01988-04Mac OS (System 6.0)1988-05Windows 2.1 90年代 时间Window…

Linux进程管理:(四)组调度机制

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 组调度 CFS的调度粒度是进程&am…

FMEA的局限性表现在哪些方面——SunFMEA软件系统

FMEA作为一种常用的故障分析和风险评估工具&#xff0c;被广泛应用于工程、制造、服务等领域。尽管FMEA具有很多优点&#xff0c;但在实际应用中&#xff0c;我们也必须认识到其存在的局限性。本文SunFMEA软件将从多个方面探讨FMEA的局限性。 首先&#xff0c;FMEA主要关注产品…

Keepalive 解决nginx 的高可用问题

一 说明 keepalived利用 VRRP Script 技术&#xff0c;可以调用外部的辅助脚本进行资源监控&#xff0c;并根据监控的结果实现优先动态调整&#xff0c;从而实现其它应用的高可用性功能 参考配置文件&#xff1a; /usr/share/doc/keepalived/keepalived.conf.vrrp.localche…

【LeetCode: 149. 直线上最多的点数 + 模拟遍历】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

四、项目中Camunda的使用

公文流程 保存 //省略其他业务逻辑...... //获取公文的工作流程类型 String processDefinitionKeydocDTO.getDocDocType().getDocType().getWorkflowId(); //启动流程 //将工作流程类型作为流程实例id&#xff0c;公文id 作为流程中业务id this.runtimeService.start…

HttpRequest请求模块设计与实现(http模块二)

目录 类功能 类定义 类实现 编译测试 类功能 类定义 // HttpRequest请求模块 class HttpRequest { public:std::string _method; // 请求方法std::string _path; // 资源路径std::string _version…

docker学习进阶

一、dockerfile解析 官方文档&#xff1a; Dockerfile reference | Docker Docs 1.1、dockfile是什么&#xff1f; dockerfile是用来构建docker镜像的文本文件&#xff0c;由一条条构建镜像所需的指令和参数构成的脚本。 之前我们介绍过通过具体容器反射构建镜像(docker comm…

央企与国企在信创国产化趋势下的数字化转型之道

官.网地址&#xff1a;合合TextIn - 合合信息旗下OCR云服务产品 3月5日&#xff0c;政府工作报告对大力推进现代化产业体系建设、加快发展新质生产力作出部署&#xff0c;提出“充分发挥创新主导作用&#xff0c;以科技创新推动产业创新&#xff0c;加快推进新型工业化&#x…

c1-第三周

文章目录 1月份2.定义一个整形数组arr2.定义整形栈s3.输入一个字符串包括大小写和数字&#xff0c;将其中的大写英文字母改为小写&#xff0c;并且输出数字个数4.根据下面数据&#xff0c;编程实现要求功能&#xff1a; 9月1.编写程序实现以下功能或问题3.完成以下功能4.对运算…

释机器学习中的召回率、精确率、准确率

准确率和召回率之间通常存在一定的折衷关系——当阈值较高时&#xff0c;分类器的准确率较高&#xff0c;但召回率较低&#xff1b; 当阈值较低时&#xff0c;分类器的召回率较高&#xff0c;但准确率较低 召回率(灵敏度)&#xff1a;对实际为正类的样本&#xff0c;模型能识别…