PyTorch 0.4:年度最大更新!完全改变API,官方支持Windows

04-25   1  181

就在今天,PyTorch官方在GitHub发布了全新的0.4.0版本,新版本完全改变了API,是本年度最重大的升级。不过最重要的应该是为广大Windows用户提供了官方Windows版本!对于我等windows用户简直是个喜大普奔的好消息!


“Windows Support” 郝然在列!


TensorFlow依旧独领风骚,PyTorch仍然虎视眈眈。TensorFlow发布一年后,Facebook在2017年1月推出了PyTorch。它是经典机器学习库Torch框架的一个端口,Torch二进制文件包装于GPU加速的Python。PyTorch在TensorFlow有着绝对流行度的形势下依旧有着越来越多的青睐者。除了GPU加速和内存使用的高效外,PyTorch受欢迎的主要因素是动态计算图的使用。已经有其他一些不太知名的深度学习框架使用动态计算图,例如Chainer。而动态图的优点在于,图(graph)是由run定义(“define by run”),而不是传统的“define and run”。特别是,在输入可以变化的情况下,例如文本这样的非结构化数据,这非常有用而且高效。

就如PyTorch官网介绍的那样:


PyTorch is a deep learning framework that puts Python first.


更新内容目录


主要核心变更

  • Tensor/Variable合并
  • 零维张量
  • dtypes
  • 迁移指南


新功能

  • 张量:全面支持高级索引;快速傅立叶变换
  • 神经网络:权衡内存计算;bottleneck - 一个在你的代码中识别hotspots的工具
  • 概率分布:24个基本概率分布;增加了cdf,方差,熵,困惑度(perplexity)等。
  • 分布式训练:易于使用的Launcher utility;NCCL2后端
  • C ++扩展
  • Windows支持
  • ONNX改进:RNN支持


性能改进


Bug修复


主要核心变化


以下是用户每天使用的最重要的核心功能的更新。

主要变化和潜在的重要更新:


  • Tensors 和 Variables 已经合并
  • 有些操作会返回0维(标量)Tensors
  • 弃用了 volatile flag


改进:


  • 添加了 dtypes,devices 和 Numpy 风格的 Tensor 创建函数
  • 支持编写与device无关的代码


PyTorch团队编写了一个迁移指南,帮助用户将代码转换为新的API和style。 如果您想要迁移以前版本的PyTorch中的代码。

迁移指南http://pytorch.org/2018/04/22/0_4_0-migration-guide.html

本部分的内容(主要核心变更)包含在迁移指南中。


合并 Tensor 和 Variable 类

torch.autograd.Variable 和 torch.Tensor 现在是同一类。更确切地说,torch.Tensor 能够跟踪历史并像旧的 Variable 一样运行;Variable 的换行继续像以前一样工作,但返回的对象类型变成 torch.Tensor。这意味着你不再需要将代码中的任何 Variable wrapper。

Tensor 的 type( ) 已经改变

还要注意 Tensor 的 type( ) 不再反映数据类型。使用isinstance()或 x.type()来代替:


>>> x = torch.DoubleTensor([1, 1, 1])
>>> print(type(x)) # was torch.DoubleTensor
<class 'torch.autograd.variable.Variable'>
>>> print(x.type())  # OK: 'torch.DoubleTensor'
'torch.DoubleTensor'
>>> print(isinstance(x, torch.DoubleTensor))  # OK: True
True


Windows支持


PyTorch现在正式支持Windows!我们为Python 3.5和3.6提供预编译的Conda二进制文件和pip wheels。Windows上的PyTorch不支持分布式训练,可能比Linux / OSX慢一点,因为Visual Studio支持较早版本的OpenMP。


Windows安装方法(以Python3.6为例):


Conda安装:

conda install pytorch -c pytorch
pip3 install torchvision


pip安装:

pip3 install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl
pip3 install torchvision


评论 ( {{ comments.total }} )
{{ o.content }}
赞 {{ o.likes_count ? o.likes_count : '' }} 回复 {{ o.created_at }}
作者信息