当前位置: 首页 > news >正文

承德市建设局网站电话0基础做网站用什么语言

承德市建设局网站电话,0基础做网站用什么语言,官网网站建设需求文档,本地打开WordPress慢这里写目录标题1 Pytorch计算图和自动微分2 将单个数据从计算图中剥离 .detach3 使用with torch.go_grad(): 包含的代码段不会计算微分1 Pytorch计算图和自动微分 从功能上理解#xff1a; 计算图就是类似于数据结构中的无环有向图#xff0c;Pytorch中的计算图就是为了记录… 这里写目录标题1 Pytorch计算图和自动微分2 将单个数据从计算图中剥离 .detach3 使用with torch.go_grad(): 包含的代码段不会计算微分1 Pytorch计算图和自动微分 从功能上理解 计算图就是类似于数据结构中的无环有向图Pytorch中的计算图就是为了记录一个数据从开始到最后所作的操作和参数这样在进行反向传播时候(backward)就会有足够的参数去计算梯度得到最终值相较于操作过程中数据梯度之后再通过优化器(optimizer.step())对目标函数进行优化就几乎完成了一轮模型训练的目的。 将Tensor的requires_grad属性设置为True时Pytorch的torch.autograd会自动地追踪它的计算轨迹当需要计算微分的时候只需要对最终计算结果的Tensor调用backward方法中间所有计算节点的微分就会被保存在grad属性中 import torchx torch.arange(9, dtypetorch.float).view(3,3) print(x默认不缓存计算轨迹,x, x.requires_grad) y torch.randn(3,3, requires_gradTrue) print(y设置requires_grad属性,y, y.requires_grad) z torch.sum(torch.mm(x, y)) z.backward() print(得到Z, z, z.requires_grad) print(经过计算未保留x的梯度, x.grad) print(经过计算保留了y的梯度, y.grad)out: x默认不缓存计算轨迹 tensor([[0., 1., 2.],[3., 4., 5.],[6., 7., 8.]]) False y设置requires_grad属性 tensor([[-0.2810, -2.7142, 1.8053],[-0.6549, 1.0730, -1.9470],[ 0.5629, -0.0692, -0.7376]], requires_gradTrue) True 得到Z tensor(-32.7122, grad_fnSumBackward0) True 经过计算未保留x的梯度 None 经过计算保留了y的梯度 tensor([[ 9., 9., 9.],[12., 12., 12.],[15., 15., 15.]])从上面可以看出y设置了requires_grad为True时在计算过后Pytorch会缓存其梯度信息而x为设置该属性即未保存该梯度信息。 汇总 Tensor属性作用针对Tensor构造时的属性后期也可以输出查看device该节点运行的设备环境即CPU/GPUrequires_grad自动微分机是否需要对该节点求导缺省为False针对Tensor输出时的属性构造时不可指定用来输出查看grad输出节点对该节点的梯度缺省为Nonegrad_fn中间计算节点关于全体输入节点的映射记录了前向传播经过的操作。叶节点为Noneis_leaf该节点是否为叶节点 当需要计算中间数据(x)的梯度时只需要将最后的结果值进行backward()后再打印x.grad即可 2 将单个数据从计算图中剥离 .detach 一般在模型训练中计算评价指标时我们需要停止数据的计算轨迹缓存则可以使用.detach将数据从计算图中剥离出去这个是针对单个数据的。 import torch x torch.rand(3, 3, requires_gradTrue) w torch.ones(3, 3, requires_gradTrue) print(x) print(w) yy torch.mm(w, x) print(yy.requires_grad)detach_yy yy.detach() #一般模型中使用loss计算评价指标时都会用类似这样的式子将loss从计算图中剥离备份出去。 y torch.sum(yy) y.backward()print(进行剥离后detach_yy的属性, detach_yy.grad) print(x的梯度缓存, x.grad) print(w的梯度缓存, w.grad)out: tensor([[0.8037, 0.2443, 0.3994],[0.9879, 0.9484, 0.4035],[0.3057, 0.6682, 0.4186]], requires_gradTrue) tensor([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]], requires_gradTrue) True 进行剥离后detach_yy的属性 None x的梯度缓存 tensor([[3., 3., 3.],[3., 3., 3.],[3., 3., 3.]]) w的梯度缓存 tensor([[1.4474, 2.3398, 1.3925],[1.4474, 2.3398, 1.3925],[1.4474, 2.3398, 1.3925]])3 使用with torch.go_grad(): 包含的代码段不会计算微分 想必这个在模型测试阶段大家都会用之所以用这个是将模型测试阶段的微分不计算在模型中否则模型把测试集都学过了那以后拿什么进行模型评价呢 import torch x torch.rand(3, 3, requires_gradTrue) w torch.ones(3, 3, requires_gradTrue) y torch.sum(torch.mm(w, x)) print(正常缓存梯度信息, y.requires_grad)with torch.no_grad():y torch.sum(torch.mm(w, x))print(在with torch.no_grad中, y.requires_grad)out: 正常缓存梯度信息 True 在with torch.no_grad中 False
http://www.dnsts.com.cn/news/27937.html

相关文章:

  • 文山知名网站建设报价免费域名网站
  • 到国外建网站专业建设网站技术
  • 做一视频网站多少钱新手跨境电商怎么做
  • 5000元做网站值么重庆网站设计费用
  • 网站建设及优化方案社交网站建设内容
  • 网站建设个人简历如何统计网站访问量
  • 网站的新闻模块怎么做wordpress虚拟商品销售
  • 网站建设哪家专业外包制作app
  • 科迪兔网站建设网络公司排名哪家专业
  • 哪个网站可以接程序项目来做wordpress地图
  • 免费建筑设计素材网站做网站的职位叫什么
  • html5响应式网站济南网络推广公司
  • 长沙做个网站多少钱商城网站建设
  • 让别人做网站应注意什么网站建设优劣势分析
  • 网站 数据库选择重庆建设网站首页
  • 网站title优化tomcat做网站
  • 怎么看网站哪个公司做的房地产微网站模板
  • 晋城网站设计wordpress免回复
  • 我们公司在做网站推广代帮企业做网站
  • 搭建微信网站怎么做制作一个网站需要多久
  • 网站设计 素材电子企业网络推广方案
  • wordpress全站加密做网站要建立站点吗
  • 克拉玛依市建设局网站麻城建设局网站停办
  • 信誉好的赣州网站建设网络服务能力
  • 常州低价网站建设公司做理财网站
  • 浙江省建设厅网站查询为什么点不开网站
  • 单位建设网站注意点沅江网站开发
  • 长春网站建设公司十佳海口网站制作公司
  • html用表格来做网站布局优化教程网下载
  • 工作总结加强部门网站建设学生做网站的软件