Pytorch 0.3发布:实现多方面提速,增加对ONNX支持 | 快讯

2017 年初,Facebook 在机器学习和科学计算工具 Torch 的基础上,针对 Python 语言发布了一个全新的机器学习工具包 PyTorch。一经发布,这款开源工具包就受到广泛关注和讨论,经过几个月的发展,目前 PyTorch 已经成为从业者最重要的研发工具之一。经过将近一年的发展,日前,迎来了 PyTorch 0.3.0 版本。

根据官方文档的介绍,此次增加了多个函数和功能,多方面的性能均实现提升。

重大变更

0.3 版本中删掉了 Variable.reinforce() 等随机函数,因为它们的功能有限,并且会影响到性能。设置随机函数的初衷是为了避免采样值的 book-keeping,在实际中,由于各种各样的原因,用户的代码中仍然会包括 book-keeping。他们引入了 torch.distributions 包来代替随机函数。

之前的代码如下:

probs = policy_network(state)
action = probs.multinomial()
next_state, reward = env.step(action)
action.reinforce(reward)
action.backward()

现在的代码如下:

probs = policy_network(state)# NOTE: categorical is equivalent to what used to be called multinomialm = torch.distributions.Categorical(probs)
action = m.sample()
next_state, reward = env.step(action)
loss = -m.log_prob(action) * reward
loss.backward()

新的功能

1、目前,有些损失函数能直接计算 mini-batch 中每个 sample 的损失值。

2、构建了一个 in-built Profiler,能对模型进行瓶颈分析,这个 Profiler 同时支持 CPU 和 CUDA 模型。

更多信息可以参见(http://t.cn/RY1frZ8)

3、增加 Higher order gradients 模块,支持如下层:

  • ConvTranspose, AvgPool1d, AvgPool2d, LPPool2d, AvgPool3d, MaxPool1d, MaxPool2d, AdaptiveMaxPool, AdaptiveAvgPool, FractionalMaxPool2d, MaxUnpool1d, MaxUnpool2d, nn.Upsample, ReplicationPad2d, ReplicationPad3d, ReflectionPad2d
  • PReLU, HardTanh, L1Loss, SoftSign, ELU, RReLU, Hardshrink, Softplus, SoftShrink, LogSigmoid, Softmin, GLU
  • MSELoss, SmoothL1Loss, KLDivLoss, HingeEmbeddingLoss, SoftMarginLoss, MarginRankingLoss, CrossEntropyLoss
  • DataParallel

4、优化器

  • optim.SparseAdam:能实现适用于稀疏张量的简单亚当算法
  • 优化器中增加了 add_param_group 函数,能在构建好的优化器中增加新的参数组。

除此之外,还增加了新的张量函数和功能,在新版本中,能通过 ONNX 将模型迁移到其他框架上。另外,在加速方面,重写 gpu kernel 之后,softmax 和 log_softmax 的速度能实现 4-256 倍的提升;在分布式 AllReduce 中,能实现 2.5-3 倍的性能提升;torch.norm 函数的 backward 能实现 1.5 倍的加速;pack_padded_sequence 的性能也有提升。

AI研习社编译整理,具体的介绍可以参加说明文档(http://t.cn/RYnuJbG),里面有详细说明。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2017-12-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

如何用Python写一个贪吃蛇AI

这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过。但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了。 问题的关键在...

28820
来自专栏数据科学与人工智能

【Python环境】玩转数据分析,必知必会的7款Python工具!

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

24280
来自专栏北京马哥教育

2017,最受欢迎的 15 大 Python 库有哪些?

? 近年来,Python 在数据科学行业扮演着越来越重要的角色。因此,我根据近来的使用体验,在本文中列出了对数据科学家、工程师们最有用的那些库。 由于这些库都...

43660
来自专栏CSDN技术头条

数据专家必知必会的7款Python工具

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

24360
来自专栏CDA数据分析师

让机器猜猜你喜欢的歌手-R关联分析

作者 CDA 数据分析师 关联规则挖掘是数据挖掘中成果颇丰而且比较活跃的研究分支。采用关联模型比较典型的案例是“尿布与啤酒”的故事。在美国,一些年轻的父亲...

269100
来自专栏AI研习社

还在费心学编程?微软用深度学习 AI 帮你写代码

在过去的几十年中,无论在硬件组织还是软件架构上,计算机行业已经发生了翻天覆地的变化,各种软硬件产品的性能和用户体验均得到了显著提升。 但对程序员而言,软件编码的...

32960
来自专栏PPV课数据科学社区

【学习】SPSS预测分析模型商用:应用关联规则模型提高超市销量--关联分析(购物篮)

前言 在数据挖掘项目中,数据理解常常不被重视。但其实数据理解在整个数据挖掘项目中扮演着非常重要的角色,可以说是整个项目的基石。在计算机领域有一句话,“Garba...

46940
来自专栏瓜大三哥

matlab基础1

matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要...

241100
来自专栏Albert陈凯

NO

N ---- 非关系型数据库( Not Only SQL):这个词听起来几乎就是「SQL,结构化查询语言」的反义词,SQL 是传统的关系型数据管理系统(RDBM...

27660
来自专栏机器之心

业界 | 微软推出深度学习加速平台「Project Brainwave」:FPGA驱动实时人工智能

选自微软博客 机器之心编译 参与:路雪、黄小天、蒋思源 近日在 Hot Chips 2017 上,微软团队推出了一个新的深度学习加速平台,其代号为脑波计划(Pr...

36270

扫码关注云+社区

领取腾讯云代金券