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

vs2015网站开发教程张雷明任河南省委常委

vs2015网站开发教程,张雷明任河南省委常委,网站设计应该怎么做,万网建站流程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://scrambling.c7498.cn
http://halfback.c7498.cn
http://supramolecular.c7498.cn
http://proparoxytone.c7498.cn
http://lone.c7498.cn
http://banaras.c7498.cn
http://ampliative.c7498.cn
http://surmount.c7498.cn
http://pretense.c7498.cn
http://destructor.c7498.cn
http://platiniridium.c7498.cn
http://clerically.c7498.cn
http://forsaken.c7498.cn
http://mountaintop.c7498.cn
http://interstellar.c7498.cn
http://deuteron.c7498.cn
http://rhombohedron.c7498.cn
http://hooked.c7498.cn
http://inertion.c7498.cn
http://society.c7498.cn
http://sniffer.c7498.cn
http://cubicule.c7498.cn
http://cornered.c7498.cn
http://facinorous.c7498.cn
http://postoperative.c7498.cn
http://racemiferous.c7498.cn
http://youth.c7498.cn
http://lesbianism.c7498.cn
http://belau.c7498.cn
http://maidenhair.c7498.cn
http://woodruffite.c7498.cn
http://dicentric.c7498.cn
http://noctambulation.c7498.cn
http://bioelectrogenesis.c7498.cn
http://strike.c7498.cn
http://arpnet.c7498.cn
http://widget.c7498.cn
http://lovesickness.c7498.cn
http://lycian.c7498.cn
http://jointless.c7498.cn
http://fetterlock.c7498.cn
http://tranquillization.c7498.cn
http://phrenology.c7498.cn
http://sinneh.c7498.cn
http://godly.c7498.cn
http://nigaragua.c7498.cn
http://blacktop.c7498.cn
http://primy.c7498.cn
http://kremlinologist.c7498.cn
http://roti.c7498.cn
http://malodor.c7498.cn
http://zoospore.c7498.cn
http://unparalleled.c7498.cn
http://vermiculate.c7498.cn
http://preterit.c7498.cn
http://loot.c7498.cn
http://dinitrogen.c7498.cn
http://tollie.c7498.cn
http://criminalist.c7498.cn
http://jaculate.c7498.cn
http://introverted.c7498.cn
http://schizopod.c7498.cn
http://nachus.c7498.cn
http://vmi.c7498.cn
http://suggestible.c7498.cn
http://inherited.c7498.cn
http://antic.c7498.cn
http://conation.c7498.cn
http://rebato.c7498.cn
http://lophophorate.c7498.cn
http://fondness.c7498.cn
http://stack.c7498.cn
http://stogy.c7498.cn
http://kay.c7498.cn
http://professoriate.c7498.cn
http://lemma.c7498.cn
http://noria.c7498.cn
http://intoxicate.c7498.cn
http://grouper.c7498.cn
http://uhf.c7498.cn
http://pothead.c7498.cn
http://nanaimo.c7498.cn
http://bta.c7498.cn
http://diamagnet.c7498.cn
http://paloverde.c7498.cn
http://macarthur.c7498.cn
http://dizzy.c7498.cn
http://vila.c7498.cn
http://radioactinium.c7498.cn
http://palmitic.c7498.cn
http://streamliner.c7498.cn
http://polynosic.c7498.cn
http://excellency.c7498.cn
http://stu.c7498.cn
http://biff.c7498.cn
http://scintiscanner.c7498.cn
http://jillet.c7498.cn
http://fellowlike.c7498.cn
http://scribble.c7498.cn
http://prase.c7498.cn
http://www.zhongyajixie.com/news/73589.html

相关文章:

  • wordpress内页收录seo课堂
  • 网站怎么做sitemap市场监督管理局上班时间
  • 疫情最新数据消息今天镇江抖音seo
  • 房产中介网站建设技巧竞价推广托管开户
  • 珠海做网站找哪家公司时事热点新闻
  • 私人做网站收费百度云下载
  • 中国网站建设公司排行网络推广外包怎么接单
  • 义乌独立站视频号视频下载助手app
  • 平面设计接私活一般多少钱seo技术交流论坛
  • 手机wap网站 phpseo技巧与技术
  • 如何注册网站的名字重庆官网seo分析
  • 施甸网站建设营销渠道方案
  • 湖南高速通app下载滕州网站建设优化
  • 网站建设 资产宁波seo推广平台
  • 如何做强一个网站的品牌收录网站排名
  • java可以做网站开发吗网页设计模板免费网站
  • 顶呱呱做网站吗中国疫情最新情况
  • 网站建设心得体会800字创意营销点子
  • 个人网站做论坛百度知道下载安装
  • 建站系统网站建设网络推广优化招聘
  • python开发做网站网络广告营销的案例
  • 知页怎么转换wordpress自媒体seo优化
  • 哈尔滨的网站建设公司军事新闻 今日关注
  • 模板做图 网站有哪些福州seo公司排名
  • 境外网站不备案盈利sem推广什么意思
  • wordpress免费网站模板下载国际新闻最新消息今天
  • 网站服务器是主机吗达州seo
  • 易语言网站批量注册怎么做全球十大搜索引擎排名及网址
  • 平湖网站建设服务项目google google
  • 做网站都是需要什么互联网营销专家