Pytorch是什么?关于Pytorch!
2017-07-25 00:00
309 查看
PyTorch是一个提供两个高级功能的python包:
具有强GPU加速度的张量计算(如numpy)
深层神经网络建立在基于磁带的自动调整系统上
您可以重用您最喜爱的python软件包,如numpy,scipy和Cython,以便在需要时扩展PyTorch。
PyTorch在细粒度级别是由以下组件组成的库:
包 描述torch 像NumPy这样的Tensor图书馆,拥有强大的GPU支持
torch.autograd 一种基于磁带的自动分类库,支持所有可区分的Tensor操作手电筒
torch.nn 一个神经网络库与autograd设计了最大的灵活性torch.optim 一种与torch.nn一起使用的优化包,具有标准优化方法,如SGD,RMSProp,LBFGS,Adam等。
torch.multiprocessing python多处理,但是具有魔法内存共享的手电筒传感器跨过程。适用于数据加载和hogwild培训。torch.utils DataLoader,Trainer等实用功能为方便起见
torch.legacy(.nn / .optim) 由于向后兼容性原因,已经从割炬移植的旧代码
通常使用PyTorch可以:
使用GPU的功能代替numpy。 一个深刻的学习研究平台,提供最大的灵活性和速度进一步阐述:
GPU准备好的Tensor库
如果你使用numpy,那么你已经使用了Tensors(aka ndarray)。PyTorch提供可以在CPU或GPU上生活的Tensors,并加速计算量。
我们提供各种各样的张量程序,以加速和适应您的科学计算需求,如切片,索引,数学运算,线性代数,缩减。他们快!
动态神经网络:基于磁带的自动格式
PyTorch具有构建神经网络的独特方式:使用和重放磁带录音机。大多数框架,比如请输入代码
TensorFlow,
Theano,
Caffe和
CNTK拥有世界的静态视图。必须建立一个神经网络,并重复使用相同的结构。改变网络的行为方式意味着必须从头开始。
使用PyTorch,我们使用一种称为反向模式自动分化的技术,它允许您以零延迟或开销改变网络的任意运行方式。我们的灵感来自于在这个题目的几个研究论文,以及当前和过去的工作,如
autograd,
autograd,
Chainer等。
虽然这种技术并不是PyTorch所特有的,但它是迄今为止最快的实现之一。您可以为您的疯狂研究获得最佳的速度和灵活性。
Python第一
PyTorch不是一个Python绑定到一个单一的C ++框架。它被构建为深入整合到Python中。您可以自然地使用它,就像您将使用numpy/
scipy/
scikit学习等。您可以使用自己喜欢的库并使用
Cython和
Numba等软件包,在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
相关文章推荐
- 深度学习pytorch环境搭建+nvidia驱动+cuda+pytorch-gpu
- Pytorch是什么?关于Pytorch
- PyTorch(总)——PyTorch遇到令人迷人的BUG与记录
- PyTorch快速入门教程七(pytorch下RNN如何做自然语言处理)
- 【笔记】【Pytorch】关于torch.matmul和torch.bmm的输出tensor数值不一致问题
- PyTorch深度学习:60分钟入门(Translation) PyTorch深度学习:60分钟入门(Translation)
- Pytorch实战指南---使用Pytorch完成Kaggle上的经典比赛:Dogs vs Cats---updating
- pytorch学习笔记(七):pytorch hook 和 关于pytorch backward过程的理解
- 深度学习(PYTORCH)-3.sphereface-pytorch.lfw_eval.py详解
- pytorch入门(3)pytorch-seq2seq模型
- 【pytorch源码赏析】Dataset in pytorch
- Pytorch打怪路(一)pytorch进行CIFAR-10分类(4)训练
- 关于使用PyTorch设置多线程(threads)进行数据读取而导致GPU显存始终不释放的问题
- pytorch学习笔记(七):pytorch hook 和 关于pytorch backward过程的理解
- 【Pytorch】入门Pytorch,初次上手请多指教
- 【PyTorch】PyTorch之风格迁移
- Pytorch打怪路(二)pytorch进行mnist训练和测试
- Pytorch广播是什么?
- pytorch: PyTorch中 使用 Tensorboard
- 关于什么是DLNA, 什么是DMS的详细介绍