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

  • 时间:
  • 浏览:3
  • 来源:万人牛牛_万人牛牛官网

大伙使用torch.nn构建一1个多 nn计算图,使用torch.autograd来计算梯度,或者将它们提供给torch.optim来更新网络参数。

第1个多 特色是高级神经网络库(torch.nn),其抽象出了神经网络层中的所有参数避免,以便于在通过几个命令(类式 torch.nn.conv)就很容易地定义NN。这个 包也含晒 流行的损失函数的功能(类式 torch.nn.MSEloss)。大伙首先定义一1个多 模型容器,类式 使用(torch.nn.Sequential)的层序列的模型,或者在序列中列出大伙期望的层。这个 高级神经网络库也还还还还都可以避免其他的事情,大伙还还还还都可以使用(model.parameters())访问参数(Variable())

大伙还还还还都可以自己比较 Torch和numpy ,从而发现大伙的优缺点。

1.导入工具

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

第1个特色是与NN库一起工作的优化软件包(torch.optim)。该库含晒 僵化 的优化器,如AdamRMSprop等。大伙定义一1个多 优化器并传递网络参数和学习率(opt = torch.optim.Adammodel.parameters(),lr = learning_rate)),或者大伙调用(opt.step())对大伙的参数进行近一步更新。

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

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

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

PyTorch由1个多 主要包装组成:

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

建立神经网络很容易,或者如保协同工作何必 容易。这是一1个多 示例显示如保协同工作:

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

从下面的代码中,大伙还还还还都可以发现,PyTorch提供的这个 包的功里还还还还都可以将大伙常用的二维数组变成GPU还还还还都可以避免的三维数组。这极大的提高了GPU的利用强度,提升了计算强度。

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

更多淬硬层 文章,请关注:https://yq.aliyun.com/cloud

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

希望上述的介绍都还还还还都可以帮你更好的阅读PyTorch代码。  

或者你从前导入PyTorch:

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

5.torch.optim也还还还还都可以做优化—>

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

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

文章为简译,更为删剪的内容,请查看原文