亚博体育APP小程序对会计行业的好处

强大的PyTorch:10分钟让你了解深度学习领域新流行的框架

摘要: 今年一月份开源的PyTorch,因为它强大的功能,它现在已经成为深度学习领域新流行框架,它的强大源于它内部有很多内置的库。本文就着重介绍了其中几种有特色的库,它们能够帮你在深度学习领域更上一层楼。

PyTorch由于使用了强大的GPU加速的Tensor计算(类似numpy)和基于tape的autograd系统的深度神经网络。这使得今年一月份被开源的PyTorch成为了深度学习领域新流行框架,许多新的论文在发表过程中都加入了大多数人不理解的PyTorch代码。这篇文章我们就来讲述一下我对PyTorch代码的理解,希望能帮助你阅读PyTorch代码。整个过程是基于贾斯汀·约翰逊的伟大教程。如果你想了解更多或者有超过10分钟的时间,建议你去读下整篇代码。

PyTorch由4个主要包装组成:

1.导入工具

你可以这样导入PyTorch:

2.torch数组取代了numpy ndarray - >在GPU支持下提供线性代数

第一个特色,PyTorch提供了一个像Numpy数组一样的多维数组,当数据类型被转换为(torch.cuda.TensorFloat)时,可以在GPU上进行处理。这个数组和它的关联函数是一般的科学计算工具。

从下面的代码中,我们可以发现,PyTorch提供的这个包的功能可以将我们常用的二维数组变成GPU可以处理的三维数组。这极大的提高了GPU的利用效率,提升了计算速度。

cong xia mian di dai ma zhong, wo men ke yi fa xian, PyTorch ti gong de zhe ge bao de gong neng ke yi jiang wo men chang yong de er wei shu zu bian cheng GPU ke yi chu li de san wei shu zu. zhe ji da de ti gao le GPU de li yong xiao lv, ti sheng le ji suan su du.

大家可以自己比较 Torch和numpy ,从而发现他们的优缺点。

3.torch.autograd可以生成一个计算图 - >自动计算梯度

第二个特色是autograd包,其提供了定义计算图的能力,以便我们可以自动计算渐变梯度。在计算图中,一个节点是一个数组,边(edge)是on数组的一个操作。要做一个计算图,我们需要在(torch.aurograd.Variable)函数中通过包装数组来创建一个节点。那么我们在这个节点上所做的所有操作都将被定义为边,它们将是计算图中新的节点。图中的每个节点都有一个(node.data)属性,它是一个多维数组和一个(node.grad)属性,这是相对于一些标量值的渐变(node.grad也是一个.Variable) 。在定义计算图之后,我们可以使用单个命令(loss.backward)来计算图中所有节点的损耗梯度。

4.torch.nn包含各种NN层(张量行的线性映射)+(非线性)-->

其作用是有助于构建神经网络计算图,而无需手动操纵张量和参数,减少不必要的麻烦。

第三个特色是高级神经网络库(torch.nn),其抽象出了神经网络层中的所有参数处理,以便于在通过几个命令(例如torch.nn.conv)就很容易地定义NN。这个包也带有流行的损失函数的功能(例如torch.nn.MSEloss)。我们首先定义一个模型容器,例如使用(torch.nn.Sequential)的层序列的模型,然后在序列中列出我们期望的层。这个高级神经网络库也可以处理其他的事情,我们可以使用(model.parameters)访问参数(Variable)

我们还可以通过子类(torch.nn.Module)定义自定义层,并实现接受(Variable)作为输入的(forward)函数,并产生(Variable)作为输出。我们也可以通过定义一个时间变化的层来做一个动态网络。

5.torch.optim也可以做优化->

我们使用torch.nn构建一个nn计算图,使用torch.autograd来计算梯度,然后将它们提供给torch.optim来更新网络参数。

第四个特色是与NN库一起工作的优化软件包(torch.optim)。该库包含复杂的优化器,如Adam,RMSprop等。我们定义一个优化器并传递网络参数和学习率(opt = torch.optim.Adam(model.parameters,lr = learning_rate)),然后我们调用(opt.step)对我们的参数进行近一步更新。

建立神经网络很容易,但是如何协同工作并不容易。这是一个示例显示如何协同工作:

希望上述的介绍能够帮你更好的阅读PyTorch代码。

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《Understand PyTorch code in 10 minutes》,

作者: Hamidreza Saghir,机器学习研究员 - 多伦多大学博士生 译者:袁虎 审阅:阿福

文章为简译,更详细内容,请查看https://hsaghir.github.io/data_science/pytorch_starter/?spm=5176.100239.blogcont114620.17.8aFHP9

当前文章:http://www.changshangdai.com/bzmaxls6o/50853-57882-27863.html

发布时间:01:36:23


{相关文章}

美国7月工业生产创20个月来最大增幅

  新华社华盛顿8月16日专电(记者高攀 郑启航)美国联邦储备委员会16日公布的数据显示,受制造澳洲开设亚博体育APP小程序的大学_星玄未来亚博体育APP小程序平台业和公共事业产出大幅增长带动,今年7月美国工业生产连续第二个月增长,创下20个月来最大增幅。

  数据显示,今年7月,包括工厂、矿业和公共事业产出在内的美国工业生产环比增长0.7%,超过经济学家预亚博体育APP小程序 skymind_星玄未来亚博体育APP小程序平台期的增长0亚博体育APP小程序下教师的发展_星玄未来亚博体育APP小程序平台.3%,创2014年11月以来最大增幅。美联储同时将6月工业生产增幅从此前公布的0.6%下调至0.4%。

  从分项来看,占工业生产75%的制造业生产在6月增长0.3%后,7月继续增长0.5%,创一年来最大增幅;受居民空调用量大增影响,7月公共事业产出大亚博体育APP小程序在天气预报中的应用_星玄未来亚博体育APP小程序平台幅增长2.1%;当月采矿业生产增长0.7%。

  数据还显示,7月美国工业部门产能利用率上升0.5个百分点至75.9%,但仍低于1972年至2015年间80%的平均值。产能利用率是美联储观察经济中资源闲置情况和衡量通胀压力的重要指标。

  美国供应管理协会本月初公布的报告显示,美国制造业已连续5个月保持扩张。经济学家认为,随着大亚博体育APP小程序机器人九歌_星玄未来亚博体育APP小程序平台宗商品价格企稳和美元升值对制造业的不利影响减弱,下半年美国制造业生产将趋于好转。

  作者:高攀 郑启航来源新华社)
关于亚博体育APP小程序方面的算法_星玄未来亚博体育APP小程序平台