Pytorch030发布实现多方面提速增生存
Pytorch 0.3.0 发布,实现多方面提速,增加对ONNX支持
AI 科技评论按,2017 年初,Facebook 在机器学习和科学计算工具 Torch 的基础上,针对 Python 语言发布了一个全新的机器学习工具包 PyTorch。一经发布,这款开源工具包就受到广泛关注和讨论,经过几个月的发展,目前 PyTorch 已经成为从业者最重要的研发工具之一。经过将近一年的发展,日前,迎来了 PyTorch 0.3.0 版本。
根据官方文档的介绍,此次增加了多个函数和功能,多方面的性能均实现提升。
重大变更
0.3 版本中删掉了 inforce() 等随机函数,因为它们的功能有限,并且会影响到性能。设置随机函数的初衷是为了避免采样值的 book-keeping,在实际中,由于各种各样的原因,用户的代码中仍然会包括 book-keeping。他们引入了 stributions 包来代替随机函数。
之前的代码如下:
probs = policy_network(state)
action = ltinomial()
next_state, reward = ep(action)
inforce(reward)
ckward()
现在的代码如下:
probs = policy_network(state)
# NOTE: categorical is equivalent to what used to be called multinomial
m = tegorical(probs)
action = mple()
next_state, reward = ep(action)
loss = g_prob(action) * reward
ckward()
新的功能
1、目前,有些损失函数能直接计算 mini-batch 中每个 sample 的损失值。
2、构建了一个 in-built Profiler,能对模型进行瓶颈分析,这个 Profiler 同时支持 CPU 和 CUDA 模型。
更多信息可以参见
3、增加 Higher order gradients 模块,支持如下层:
ConvTranspose, AvgPool1d, AvgPool2d, LPPool2d, AvgPool3d
, MaxPool1d, MaxPool2d, AdaptiveMaxPool, AdaptiveAvgPool, FractionalMaxPool2d, MaxUnpool1d, MaxUnpool2d, sample, ReplicationPad2d, ReplicationPad3d, ReflectionPad2d
PReLU, HardTanh, L1Loss, SoftSign, ELU, RReLU, Hardshrink, Softplus, SoftShrink, LogSigmoid, Softmin, GLU
MSELoss, SmoothL1Loss, KLDivLoss, HingeEmbeddingLoss, SoftMarginLoss, MarginRankingLoss, CrossEntropyLoss
DataParallel
4、优化器
arseAdam:能实现适用于稀疏张量的简单亚当算法
优化器中增加了 add_param_group 函数,能在构建好的优化器中增加新的参数组。
除此之外,还增加了新的张量函数和功能,在新版本中,能通过 ONNX 将模型迁移到其他框架上。另外,在加速方面,重写 gpu kernel 之后,softmax 和 log_softmax 的速度能实现 倍的提升;在分布式 AllReduce 中,能实现 2. 倍的性能提升;rm 函数的 backward 能实现 1.5 倍的加速;pack_padded_sequence 的性能也有提升。
(公众号:) AI 科技评论编译整理,具体的介绍可以参加说明文档,里面有详细说明。地址如下:
AI 科技评论后续也将持续关注PyTorch的更新。
版权文章,未经授权禁止转载。详情见转载须知。
焦作白斑疯医院惠州治疗白斑病费用
商洛治疗白癜风方法
- 上一篇:晓园东区生存
- 下一篇:北京怀柔新城中高路道路工程施工招标公告区域
-
滑鼠蛇有毒吗它是一种大型的无毒蛇位置
主食2022年06月13日
-
湿猫粮和干猫粮的区别是什么位置
主食2022年06月13日
-
清道夫鱼有几种怎么挑选健康的清道夫鱼位置
主食2022年06月13日
-
你需要为收养狗狗做哪些准备位置
主食2022年06月13日