PyTorch 1.1.0 发布

  

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%。

详细更新内容查看:

猜你喜欢

转载自www.oschina.net/news/106381/pytorch-1-1-0-released