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

vs2015网站开发教程免费刷粉网站推广免费

vs2015网站开发教程,免费刷粉网站推广免费,新建的网站只能用临时域名打开,优秀答辩ppt范文10页1 安装 1.1 简介 pytorch可用gpu加速,也可以不加速。gpu加速是通过cuda来实现,cuda是nvidia推出的一款运算平台,它可以利用gpu提升运算性能。 所以如果要装带加速的pytorch,需要先装cuda,再装pytorch,如…

1 安装

1.1 简介

pytorch可用gpu加速,也可以不加速。gpu加速是通过cuda来实现,cuda是nvidia推出的一款运算平台,它可以利用gpu提升运算性能。

所以如果要装带加速的pytorch,需要先装cuda,再装pytorch,如果不需用加速,即默认用cpu计算,可不用装cuda

装cuda需要电脑有nvidia的显卡,如果你的网卡是amd,那么抱歉,windows上装不了加速的pytorch,因为cuda不支持amd,pytorch也不支持amd。不过可以装没加速的pytorch,因为官网写了,pytorch不支持amd,但linux上pytorch支持amd(ROCm)

1.2 安装

官网上如果能安装,直接拷贝命令安装就行。我的环境是windows下conda环境,官网那个页面就可以选stable(稳定版),windows,conda,python,cpu,然后拷贝下面'run this command'处的命令去安装

注意

1 当时安装时下载包超时一直报错,可以去国内镜像下载对应的版本包,然后conda install --offline package_name离线安装

2 原理与简单使用

2.1 常规命令

x = torch.rand(5, 3) # 5行3列的值在0-1范围内矩阵
y = torch.randn(5, 3) # 5行3列满足均值0方差1正态分布的矩阵
z = torch.ones(2, 5, 3)
x.mm(y.t()) # x和y矩阵乘法
x.mm(y.T) # 同上,写法不同
x * y # # x和y数乘,需满足x和y矩阵形状相同# pytorch和numpy转换
x = torch.randn(2, 3)
y = np.random.rand(2, 3)
x_np = x.numpy()
y_torch = torch.from_numpy(y)# 使用gpu张量运算
if torch.cuda.is_available(): # 判断torch是否可cuda加速x = x.cuda()y = y.cuda()print(x + y)# 使用cpu张量运算(把x.cuda()换成x.cpu()即可)
x.cpu()
...

2.2 动态计算图

可为神经网络提供统一的反向传播算法方案,可以使人专注于神经网络设计。通过动态计算图,在神经网络运算完成后,可以让反向传播算法自动运行。好处是不用手动设计反向传播算法,动态计算图弄成了自动

计算图的解决思路是将正向计算过程记录下来,只要计算过程可微分,就可以对计算过程求导算梯度

计算图有静态的和动态的,pytorch即支持动态也可以静态

2.3 自动微分变量

pytorch通过自动微分变量实现动态计算图,自动微分变量比一般张量结构更复杂

如何反向传播:计算图弄好后,直接调用.backward()即可获取每个计算过程梯度,并存储在自动微分变量结构体中

自动微分变量有三个重要属性data, grad, grad_fn

data存储自动微分变量的值

grad存储自动微分变量的梯度

grad_fn就是计算图中每个箭头和其方向,这样就可以通过grad_fn回溯计算图。调backward后,会将每个变量的梯度保存到变量的grad属性中

创自动微分变量时,通过传入关键字requires_grad为True实现

x = torch.ones(2, 2, requires_grad=True)

pytorch 0.4版本以后,自动微分变量和一般张量合并了,即可以不用显式传入requires_grad获取的张量也是自动微分变量

backward方法只能对计算图的叶节点调用,如果非叶节点调用会得到None

3 实例

from matplotlib import pyplot as plotimport torch
from sklearn.model_selection import train_test_splitclass Sample():def exec(self):self.prepare_data()self.train()self.predict()self.plot()def prepare_data(self):self.x = torch.linspace(1, 100, 100).type(torch.FloatTensor)rand = torch.randn(100) * 10self.y =  self.x + rand#self.data = train_test_split(self.x, self.y)self.data = self.x[:-10], self.x[-10:], self.y[:-10], self.y[-10:]self.a = torch.rand(1, requires_grad=True)self.b = torch.rand(1, requires_grad=True)self.learning_rate = 0.0001def train(self):for i in range(2000):prediction = self.a.expand_as(self.data[0]) * self.data[0] + self.b.expand_as(self.data[0])loss = torch.mean((prediction - self.data[2]) ** 2)if i % 200 == 0:print(f'loss: {loss}')loss.backward()self.a.data.add_( - self.learning_rate * self.a.grad.data)self.b.data.add_( - self.learning_rate * self.b.grad.data)self.a.grad.data.zero_()self.b.grad.data.zero_()def predict(self):self.pred = self.a.expand_as(self.data[1]) * self.data[1] + self.b.expand_as(self.data[1])def plot(self):plot.figure(figsize=(10, 8))plot.plot(self.data[0].data, self.data[2].data, 'o')plot.plot(self.data[1].data, self.data[3].data, 's')plot.plot(self.data[0], self.data[0] * self.a.data + self.b.data)plot.plot(self.data[1], self.pred.detach().numpy(), 'o')plot.xlabel('x')plot.ylabel('y')plot.show()def main():Sample().exec()passif __name__ == '__main__':main()

注意

1 self.b.data.add()和self.b.data.add_()区别是带下划线的是自运算,即将运算获得的值赋值给自身

2 对a b调用expand_as是为了扩维至x,因为a,b是数,但x是矩阵

http://www.mmbaike.com/news/27735.html

相关文章:

  • seo 网站改版安卓优化大师旧版
  • 网站信任的体验如何做百度搜索一下就知道
  • 广东东莞属于哪个市外贸seo网站
  • 加盟网网站建设策划书重庆seo网络优化师
  • 淘宝网站怎么做的好坏网站排名工具
  • 网站域名免费吗关键字优化用什么系统
  • 先做他个天猫网站本站3天更换一次域名yw
  • 网站竞争对手的选定一般参考什么标准的seo在线优化工具 si
  • 如何在人力资源网站做合同续签成都网站seo技术
  • 给网站做公正需要带什么哪些平台可以发布推广信息
  • 前端案例的网站b站视频推广网站2023
  • vscode制作个人网站国内建站平台
  • 品牌创意网站建设微博推广方式有哪些
  • 做设计常用的网站seo排名点击器
  • wordpress如何压缩图片西安seo排名公司
  • 好的网站建设公司排名广州番禺发布网
  • 怎样将自己做的网页加入网站怎么去做网络推广
  • 大气网络公司网站源码网站都有哪些
  • 宿州网站建设推广网店运营
  • 怎么在58上做公司网站seo站长工具查询系统
  • 不适合做设计的人网站搜索引擎优化报告
  • 常见的网站盈利方式南宁网络推广有限公司
  • 网页设计需要学什么编程徐州百度seo排名
  • 家用电脑怎么做网站服务器经典软文推广案例
  • 互联网是什么网站优化排名易下拉系统
  • 做软欧的网站微信营销软件有哪些
  • 怎么做加密网站优帮云首页推荐
  • 天猫优惠卷怎么做网站网络推广是做什么的
  • 做网站做得好的公司网络营销有哪些模式
  • 哪个网站可以做效果图合肥seo网站管理