文档章节

Pytorch是什么?关于Pytorch!

earnpls
 earnpls
发布于 2017/07/25 09:14
字数 1210
阅读 181
收藏 0

PyTorch是一个提供两个高级功能的python包:

  1. 具有强GPU加速度的张量计算(如numpy)
  2. 深层神经网络建立在基于磁带的自动调整系统上

您可以重用您最喜爱的python软件包,如numpy,scipy和Cython,以便在需要时扩展PyTorch。

PyTorch在细粒度级别是由以下组件组成的库:

  1. 包 描述
  2. torch 像NumPy这样的Tensor图书馆,拥有强大的GPU支持
  3. torch.autograd 一种基于磁带的自动分类库,支持所有可区分的Tensor操作手电筒
  4. torch.nn 一个神经网络库与autograd设计了最大的灵活性torch.optim 一种与torch.nn一起使用的优化包,具有标准优化方法,如SGD,RMSProp,LBFGS,Adam等。
  5. torch.multiprocessing python多处理,但是具有魔法内存共享的手电筒传感器跨过程。适用于数据加载和hogwild培训。torch.utils DataLoader,Trainer等实用功能为方便起见
  6. torch.legacy(.nn / .optim) 由于向后兼容性原因,已经从割炬移植的旧代码

通常使用PyTorch可以:

使用GPU的功能代替numpy。 一个深刻的学习研究平台,提供最大的灵活性和速度

进一步阐述:

GPU准备好的Tensor库

如果你使用numpy,那么你已经使用了Tensors(aka ndarray)。 GPU准备好的Tensor库

PyTorch提供可以在CPU或GPU上生活的Tensors,并加速计算量。

我们提供各种各样的张量程序,以加速和适应您的科学计算需求,如切片,索引,数学运算,线性代数,缩减。他们快!

动态神经网络:基于磁带的自动格式

PyTorch具有构建神经网络的独特方式:使用和重放磁带录音机。

大多数框架,比如请输入代码TensorFlowTheanoCaffeCNTK拥有世界的静态视图。必须建立一个神经网络,并重复使用相同的结构。改变网络的行为方式意味着必须从头开始。

使用PyTorch,我们使用一种称为反向模式自动分化的技术,它允许您以零延迟或开销改变网络的任意运行方式。我们的灵感来自于在这个题目的几个研究论文,以及当前和过去的工作,如 autograd, autograd, Chainer等。

虽然这种技术并不是PyTorch所特有的,但它是迄今为止最快的实现之一。您可以为您的疯狂研究获得最佳的速度和灵活性。 PyTorch动态神经网络

Python第一

PyTorch不是一个Python绑定到一个单一的C ++框架。它被构建为深入整合到Python中。您可以自然地使用它,就像您将使用numpy / scipy / scikit学习等。您可以使用自己喜欢的库并使用CythonNumba等软件包,在Python本身编写新的神经网络层。我们的目标是不要在适当的时候重塑轮子。

势在必得的经验

PyTorch的设计是直观的,线性的思想和易于使用。当您执行一行代码时,它将被执行。没有一个异步的世界观。当您进入调试器或接收错误消息和堆栈跟踪时,理解它们是直接的。堆栈跟踪正好指向您的代码定义的位置。我们希望您不要花费几个小时来调试代码,因为堆栈跟踪错误或异步和不透明的执行引擎。

快速和精益

PyTorch具有最小的框架开销。我们集成加速库,如英特尔MKL和NVIDIA(CuDNN,NCCL),以最大限度地提高速度。核心是CPU和GPU Tensor和神经网络后端(TH,THC,THNN,THCUNN)都是用C99 API写成独立的库。 它们已经成熟,并已经过多年的测试。

因此,PyTorch相当快 - 无论您是运行小型或大型神经网络。

PyTorch的内存使用率与Torch或其他一些替代品相比非常有效。我们为GPU编写了自定义内存分配器,以确保您的深入学习模型具有最大的内存效率。这使您能够训练比以前更大的深入学习模型。

扩展没有痛苦

编写新的神经网络模块,或与PyTorch的Tensor API进行接口的设计是简单而且抽象最少的。

您可以使用torch API 或您喜欢的基于numpy的库(如SciPy)在Python中编写新的神经网络层

如果你想用C / C ++图层,我们根据一个扩展API CFFI是有效的,并以最小的样板。 没有需要编写的包装器代码。你可以在这里看到一个例子


原创文章,转载请注明 :Pytorch是什么?关于Pytorch! - pytorch中文网
原文出处: https://ptorch.com/news/1.html
问题交流群 :168117787

本文转载自:https://ptorch.com/news/1.html

共有 人打赏支持
earnpls
粉丝 6
博文 26
码字总数 74
作品 0
昌平
程序员
私信 提问
高手问答第 185 期 —— 聊聊饱受 Pythoner 好评的深度学习框架 PyTorch

OSCHINA 本期高手问答(1 月 10 日 - 1 月 16 日)我们请来了@tmux 陈云为大家解答关于深度学习框架 PyTorch 方面的问题。 陈云,Python 程序员、Linux 爱好者和 PyTorch 源码贡献者。主要研究...

局长
2018/01/09
4.2K
37
PyTorch 你想知道的都在这里

本文转载地址,并进行了加工。本文适用于深度学习新手的“入门指导系列”,也有适用于老司机的论文代码实现,包括 Attention Based CNN、A3C、WGAN、BERT等等。所有代码均按照所属技术领域分...

readilen
2018/10/20
0
0
重磅!Facebook 公布 PyTorch 1.0 预览版!

作者 | 琥珀 出品 | AI科技大本营(公众号ID:rgznai100) 近日,Facebook 宣布发布深度学习框架 PyTorch 1.0 开发者预览版,包括一些列工具和集成,使其与 Google Cloud、AWS、Azure 的机器...

CSDN资讯
2018/10/04
0
0
重磅!Facebook公布PyTorch 1.0预览版!

作者 | 琥珀 出品 | AI科技大本营(公众号ID:rgznai100) 今日,Facebook 宣布发布深度学习框架 PyTorch 1.0 开发者预览版,包括一些列工具和集成,使其与 Google Cloud、AWS、Azure 的机器...

AI科技大本营
2018/10/03
0
0
一文读懂PyTorch张量基础(附代码)

本文介绍了PyTorch中的Tensor类,它类似于Numpy中的ndarray,它构成了在PyTorch中构建神经网络的基础。 我们已经知道张量到底是什么了,并且知道如何用Numpy的ndarray来表示它们,现在我们看...

技术小能手
2018/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
31分钟前
1
0
IntelliJ IDEA 第一个 Scala 程序

IntelliJ 安装完成 Scala 插件后,你需要尝试使用 IntelliJ 来创建并且运行第一个程序。 通常这个程序只是简单的输出 Hello World。 创建一个新工程 在文件下面选择新建,然后选择创建工程。...

honeymose
36分钟前
1
0
mysql分表,分区的区别和联系

一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同...

吴伟祥
38分钟前
0
0
csapp 习题 - 如何实现异或 exclusive-or

阅读 csapp v3 时,练习题 2.13 很有意思。练习题描述如下。 位设置是对于参数 mask 中每一个为 1 的位,那么参数 x 中相应位则被设置为 1 ;位清除是对于参数 mask 中每一个为 1 的位,那么...

ylme
昨天
5
0
Amino——产品迭代

兴趣部落产品迭代 时间 版本号 更新内容 备注 2019年1月2日 v3.1.1 支持定制部落首页的内容tab,酋长可以将精华、相册、分类添加到部落首页啦。 支持申请酋长,酋长可以直接推送优质话题,快...

铸剑为犁413
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部