PyTorch 1.1.0 发布了,此版本主要提高了性能、添加了新的模型理解和可视化工具以提高可用性,并提供新的 API。
需要注意的是,此版本不再支持 CUDA 8.0。
TensorBoard
TensorBoard 是一个用于检查和理解训练脚本、张量和图的 Web 应用程序套件,使用它可以进行一级与原生可视化和模型调试。PyTorch 现在通过一个简单的“from torch.utils.tensorboard import SummaryWriter”命令原生支持 TensorBoard。
JIT 编译器
即时(JIT)编译有一些改进,这些改进包括各种 bug 修复与 TorchScript 中的扩展功能,例如对字典、用户类和属性的支持。
@torch.jit.script
class Pair:
def __init__(self, first, second)
self.first = first
self.second = second
def sum(self):
return self.first + self.second
新 API
支持布尔张量、更好地支持自定义递归神经网络。
分布式训练
改进了 CNN 等常见模型的性能,增加了对多设备模块的支持,包括在使用分布式数据并行(DDP,Distributed Data Parallel)的同时跨 GPU 分割模型的能力,并支持在每次迭代中不使用所有参数的模块(例如控制流程,如自适应 softmax 等)。
关于性能的提升,有以下几项数据:
nn.BatchNorm
CPU 推理速度提升 ~19 倍。nn.AdaptiveAvgPool
:将 size=1 输出的常见情况加速 ~30x。nn.EmbeddingBag
CPU 性能提高了约 4 倍。Tensor.copy_
:加速较大张量复制约 2-3 倍,小张量复制有小回退。torch.nonzero
:现在比 CPU numpy 快约 2 倍。- 改进 Pascal 和新 GPU 的缓存分配器,Mask-RCNN 的内存利用率提高 10-20%。
reduction functions
:将一些大型 Tensor 案件加速 50-80%。
详细更新内容查看:
- https://ai.facebook.com/blog/pytorch-adds-new-dev-tools-as-it-hits-production-scale
- https://github.com/pytorch/pytorch/releases
转自 https://www.baidu.com/