TensorFlow依旧有王者荣耀,但PyTorch虎视眈眈。
今天,PyTorch官方在GitHub发布0.4.0版本,最重要的改进是支持Windows系统。
PyTorch是在2017年1月由Facebook推出的。它是经典机器学习库Torch框架的一个端口,Torch二进制文件包装于GPU加速的Python。
除了GPU加速和内存使用的高效外,PyTorch受欢迎的主要因素是动态计算图的使用。已经有其他一些不太知名的深度学习框架使用动态计算图,例如Chainer。
动态图的优点在于,图(graph)是由run定义(“define by run”),而不是传统的“define and run”。特别是,在输入可以变化的情况下,例如文本这样的非结构化数据,这非常有用而且高效。
图:PyTorch动态计算图 - 来源:http://pytorch.org/about/
以下为更新内容目录:
主要核心变更
Tensor/Variable合并
零维张量
dtypes
迁移指南
新功能
张量
全面支持高级索引
快速傅立叶变换
权衡内存计算
bottleneck - 一个在你的代码中识别hotspots的工具
torch.distributions
24个基本概率分布
增加了cdf,方差,熵,困惑度(perplexity)等。
分布式训练
易于使用的Launcher utility
NCCL2后端
C ++扩展
Windows支持
ONNX改进
RNN支持
性能改进
Bug修复
主要核心变化
以下是用户每天使用的最重要的核心功能的更新。
主要变化和潜在的重要更新:
Tensors和Variables已经合并
有些操作会返回0维(标量)Tensors
弃用了volatileflag
改进:
添加了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()来代替:
Windows支持
PyTorch现在正式支持Windows!我们为Python 3.5和3.6提供预编译的Conda二进制文件和pip wheels。Windows上的PyTorch不支持分布式训练,可能比Linux / OSX慢一点,因为Visual Studio支持较早版本的OpenMP。
与往常一样,你可以使用http://pytorch.org上的命令在Windows上安装PyTorch。
-
WINDOWS
+关注
关注
3文章
3524浏览量
88439 -
API
+关注
关注
2文章
1486浏览量
61820 -
机器学习
+关注
关注
66文章
8378浏览量
132424 -
pytorch
+关注
关注
2文章
803浏览量
13150
原文标题:年度最大更新!PyTorch 0.4:完全改变API,官方支持Windows
文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论