【PConline资讯】2017 年初,Facebook在机器学习和科学计算工具Torch的基础上,针对Python语言发布了一个全新的机器学习工具包PyTorch。一经发布,这款开源工具包就受到广泛关注和讨论,经过几个月的发展,目前 PyTorch 已经成为从业者最重要的研发工具之一。经过将近一年的发展,日前,迎来了 PyTorch 0.3.0 版本。 根据官方文档的介绍,此次增加了多个函数和功能,多方面的性能均实现提升。 重大变更 0.3 版本中删掉了 Variable.reinforce() 等随机函数,因为它们的功能有限,并且会影响到性能。设置随机函数的初衷是为了避免采样值的 book-keeping,在实际中,由于各种各样的原因,用户的代码中仍然会包括 book-keeping。他们引入了 torch.distributions 包来代替随机函数。 之前的代码如下:
现在的代码如下:
新的功能 1、目前,有些损失函数能直接计算 mini-batch 中每个 sample 的损失值。 2、构建了一个 in-built Profiler,能对模型进行瓶颈分析,这个 Profiler 同时支持 CPU 和 CUDA 模型。 3、增加 Higher order gradients 模块,支持如下层:
4、优化器
除此之外,还增加了新的张量函数和功能,在新版本中,能通过 ONNX 将模型迁移到其他框架上。另外,在加速方面,重写 gpu kernel 之后,softmax 和 log_softmax 的速度能实现 4-256 倍的提升;在分布式 AllReduce 中,能实现 2.5-3 倍的性能提升;torch.norm 函数的 backward 能实现 1.5 倍的加速;pack_padded_sequence 的性能也有提升。
|
正在阅读:Pytorch0.3.0公布 实现多方面提速 加对ONNX支持Pytorch0.3.0公布 实现多方面提速 加对ONNX支持
2017-12-11 18:04
出处:其他
责任编辑:wuyiying1