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

网站建设如何运营太原网站优化推广

网站建设如何运营,太原网站优化推广,做网站 前端,网络营销就业方向自动微分机制 Pytorch一般通过反向传播 backward 方法 实现这种求梯度计算。该方法求得的梯度将存在对应自变量张量的grad属性下。 除此之外#xff0c;也能够调用torch.autograd.grad 函数来实现求梯度计算。 这就是Pytorch的自动微分机制。 一#xff0c;利用backward方…自动微分机制 Pytorch一般通过反向传播 backward 方法 实现这种求梯度计算。该方法求得的梯度将存在对应自变量张量的grad属性下。 除此之外也能够调用torch.autograd.grad 函数来实现求梯度计算。 这就是Pytorch的自动微分机制。 一利用backward方法求导数 backward 方法通常在一个标量张量上调用该方法求得的梯度将存在对应自变量张量的grad属性下。 如果调用的张量非标量则要传入一个和它同形状 的gradient参数张量。 相当于用该gradient参数张量与调用张量作向量点乘得到的标量结果再反向传播。 1, 标量的反向传播 x torch.tensor(0.0,requires_grad True) # x需要被求导 #注意这里的x是一维的 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x cy.backward() dy_dx x.grad print(dy_dx) 2, 非标量的反向传播 2, 非标量的反向传播import numpy as np import torch# f(x) a*x**2 b*x cx torch.tensor([[0.0,0.0],[1.0,2.0]],requires_grad True) # x需要被求导 #这里的x是二维的 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x cgradient torch.tensor([[1.0,1.0],[1.0,1.0]])print(x:\n,x) print(y:\n,y) y.backward(gradient gradient) #非标量的区别在这里相当于用该gradient参数张量与调用张量作向量点乘得到的标量结果再反向传播。 x_grad x.grad print(x_grad:\n,x_grad)3, 非标量的反向传播可以用标量的反向传播实现 3, 非标量的反向传播可以用标量的反向传播实现x torch.tensor([[0.0,0.0],[1.0,2.0]],requires_grad True) # x需要被求导 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x cgradient torch.tensor([[1.0,1.0],[1.0,1.0]]) z torch.sum(y*gradient) #将Y与权值相乘然后取和print(x:,x) print(y:,y) z.backward() x_grad x.grad print(x_grad:\n,x_grad) 二利用autograd.grad方法求导数 利用autograd.grad方法对单个变量求导数 二利用autograd.grad方法求导数x torch.tensor(0.0,requires_grad True) # x需要被求导 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x c# create_graph 设置为 True 将允许创建更高阶的导数 dy_dx torch.autograd.grad(y,x,create_graphTrue)[0] print(dy_dx.data)# 求二阶导数 dy2_dx2 torch.autograd.grad(dy_dx,x)[0]print(dy2_dx2.data)利用autograd.grad方法对多个变量求导数 利用autograd.grad方法对多个变量求导数x1 torch.tensor(1.0,requires_grad True) # x需要被求导 x2 torch.tensor(2.0,requires_grad True)y1 x1*x2 y2 x1x2# 允许同时对多个自变量求导数 (dy1_dx1,dy1_dx2) torch.autograd.grad(outputsy1,inputs [x1,x2],retain_graph True) print(dy1_dx1,dy1_dx2)# 如果有多个因变量相当于把多个因变量的梯度结果求和 (dy12_dx1,dy12_dx2) torch.autograd.grad(outputs[y1,y2],inputs [x1,x2]) print(dy12_dx1,dy12_dx2)三利用自动微分和优化器求最小值 三利用自动微分和优化器求最小值 x torch.tensor(0.0,requires_grad True) # x需要被求导 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0)optimizer torch.optim.SGD(params[x],lr 0.01)def f(x):result a*torch.pow(x,2) b*x creturn(result)for i in range(500):optimizer.zero_grad()y f(x)y.backward()optimizer.step()print(y,f(x).data,;,x,x.data)完整代码 import torch import numpy as np 1, 标量的反向传播x torch.tensor(0.0,requires_grad True) # x需要被求导 #注意这里的x是一维的 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x cy.backward() dy_dx x.grad print(dy_dx) 2, 非标量的反向传播import numpy as np import torch# f(x) a*x**2 b*x cx torch.tensor([[0.0,0.0],[1.0,2.0]],requires_grad True) # x需要被求导 #这里的x是二维的 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x cgradient torch.tensor([[1.0,1.0],[1.0,1.0]])print(x:\n,x) print(y:\n,y) y.backward(gradient gradient) #非标量的区别在这里相当于用该gradient参数张量与调用张量作向量点乘得到的标量结果再反向传播。 x_grad x.grad print(x_grad:\n,x_grad) 3, 非标量的反向传播可以用标量的反向传播实现x torch.tensor([[0.0,0.0],[1.0,2.0]],requires_grad True) # x需要被求导 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x cgradient torch.tensor([[1.0,1.0],[1.0,1.0]]) z torch.sum(y*gradient) #将Y与权值相乘然后取和print(x:,x) print(y:,y) z.backward() x_grad x.grad print(x_grad:\n,x_grad) 二利用autograd.grad方法求导数x torch.tensor(0.0,requires_grad True) # x需要被求导 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0) y a*torch.pow(x,2) b*x c# create_graph 设置为 True 将允许创建更高阶的导数 dy_dx torch.autograd.grad(y,x,create_graphTrue)[0] print(dy_dx.data)# 求二阶导数 dy2_dx2 torch.autograd.grad(dy_dx,x)[0]print(dy2_dx2.data)利用autograd.grad方法对多个变量求导数x1 torch.tensor(1.0,requires_grad True) # x需要被求导 x2 torch.tensor(2.0,requires_grad True)y1 x1*x2 y2 x1x2# 允许同时对多个自变量求导数 (dy1_dx1,dy1_dx2) torch.autograd.grad(outputsy1,inputs [x1,x2],retain_graph True) print(dy1_dx1,dy1_dx2)# 如果有多个因变量相当于把多个因变量的梯度结果求和 (dy12_dx1,dy12_dx2) torch.autograd.grad(outputs[y1,y2],inputs [x1,x2]) print(dy12_dx1,dy12_dx2) 三利用自动微分和优化器求最小值 x torch.tensor(0.0,requires_grad True) # x需要被求导 a torch.tensor(1.0) b torch.tensor(-2.0) c torch.tensor(1.0)optimizer torch.optim.SGD(params[x],lr 0.01)def f(x):result a*torch.pow(x,2) b*x creturn(result)for i in range(500):optimizer.zero_grad()y f(x)y.backward()optimizer.step()print(y,f(x).data,;,x,x.data)
http://www.pierceye.com/news/714124/

相关文章:

  • 企业网站备案资料样本购卡网页怎么制作
  • 什么网站能免费做简历ui设计师是什么意思
  • 天津网站推广公司哪家好深圳公司注册流程及资料
  • 家装网站建设哪家好点赣州市南康建设局网站
  • 北京建设网站制作我国外贸网站的建设
  • 自己做网站如何赚钱excel做网站
  • 芯片商城网站建设wordpress批量替换图片路径
  • 网站添加手机站软件 项目管理系统
  • 大理装饰公司做网站网站建设费用:做个网站要多少钱?
  • 简约的网站设计界面百度收录网站左侧图片
  • 对建设网站未来发展的建议教育 网站模板
  • 做篮球网站用的背景图广州黄埔做网站的公司
  • 爱客源seo怎么刷关键词排名
  • 自己做网站网页文件在哪里公司官网定制
  • 网站建设怎么样工作室哪个网站可以免费制作h5
  • 做网站学的是代码吗机器封所有端口 不支持做网站
  • 类似于美团的网站开发两学一做网站专栏怎么设置
  • 天津seo网站管理千川推广官网
  • 技术支持 光速东莞网站建设企业信息免费查询系统
  • 网站设计主流尺寸weui wordpress模板
  • 汕头市网站建设商机互联网站建设
  • 口碑好的网站建设苏州园区做网站公司
  • 网站互联网设计图风格网站服务器异常是什么意思
  • 有哪些好的做兼职网站有哪些免费做ppt的网站
  • 学生成绩管理系统网站建设上海公共招聘网12333官网
  • 邵东做网站的公司wordpress修改文章字体颜色
  • 那个网站百度收录快天河高端网站建设
  • 网站建设 客户拜访wordpress设置新页面
  • 做百度推广送的网站网站建设中gif
  • 网站风格介绍wordpress怎么给产品编号