PyTorch学习笔记

关于Pytorch!

原文网址见Pytorch是什么?关于Pytorch!

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

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

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。 一个深刻的学习研究平台,提供最大的灵活性和速度

  1. GPU准备好的Tensor库
    PyTorch提供可以在CPU或GPU上生活的Tensors,并加速计算量。
  2. 动态神经网络:基于磁带的自动格式
    PyTorch具有构建神经网络的独特方式:使用和重放磁带录音机。

Python第一

大多数框架,比如请输入代码TensorFlow,Theano,Caffe和CNTK拥有世界的静态视图。必须建立一个神经网络,并重复使用相同的结构。改变网络的行为方式意味着必须从头开始。
使用PyTorch,我们使用一种称为反向模式自动分化的技术,它允许您以零延迟或开销改变网络的任意运行方式。
您可以自然地使用它,就像您将使用numpy / scipy / scikit学习等。您可以使用自己喜欢的库并使用Cython和Numba等软件包,在Python本身编写新的神经网络层。我们的目标是不要在适当的时候重塑轮子。

势在必得的经验

没有一个异步的世界观。当您进入调试器或接收错误消息和堆栈跟踪时,理解它们是直接的。堆栈跟踪正好指向您的代码定义的位置。

快速和精益

PyTorch具有最小的框架开销。我们集成加速库,如英特尔MKL和NVIDIA(CuDNN,NCCL),以最大限度地提高速度。核心是CPU和GPU Tensor和神经网络后端(TH,THC,THNN,THCUNN)都是用C99 API写成独立的库。
PyTorch相当快 - 无论您是运行小型或大型神经网络。

扩展没有痛苦

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

你可能感兴趣的:(Python,人工智能,深度学习)