机器之心报道

参与:魔王、小舟

昨日,PyTorch 团队发布 PyTorch 1.7 版本。该版本增添了很多新特性,如支持 CUDA 11、Windows 分布式训练、增加了支持快速傅里叶变换(FFT)的新型 API 等。

pytorch训练过程(支持CUDA11分布式训练)(1)

PyTorch 1.7 版本包含很多新的 API,如支持 NumPy 兼容的 FFT 操作、性能分析工具,以及对基于分布式数据并行(DDP)和基于远程过程调用(RPC)的分布式训练的重要更新。

此外,一些特性也更新为稳定版,包括自定义 C 类、内存分析器、通过自定义类张量对象进行扩展、RPC 中的用户异步函数,以及 torch.distributed 中的许多其他特性(如 Per-RPC 超时、DDP dynamic bucketing、RRef helper)。

本次更新的亮点包括:

  1. (稳定版)transforms 支持张量输入、批处理计算、GPU 和 TorchScript
  2. (稳定版)JPEG 和 PNG 格式的原生图像 I/O
  3. (测试版)新型视频读取器 API
  1. (稳定版)增加了对语音录制(wav2letter)、文本转语音(WaveRNN)和源分离(ConvTasNet)的支持

(注:从 PyTorch 1.6 版本开始,PyTorch 特性分为 Stable(稳定版)、Beta(测试版)和 Prototype(原型版)。

新特性

PyTorch 1.7 相比之前版本,增加了很多新特性,包括 Python API、C API、Autograd、CUDA、量化等多个方面。

例如 Python API 增添了多个新的 namespace、operator 以及 API 扩展,CUDA 增加了 TF32 支持等,量化方面增加了新的量化操作、支持 FP16 量化等。

pytorch训练过程(支持CUDA11分布式训练)(2)

PyTorch 1.7 部分新特性,详情参见 https://github.com/pytorch/pytorch/releases/tag/v1.7.0。

开发者对 PyTorch 1.7 的态度

有开发者对 PyTorch 1.7「支持 Windows 上的分布式训练」这一新功能表示赞赏:

pytorch训练过程(支持CUDA11分布式训练)(3)

以及乐见于「PyTorch 对 CUDA 11 的支持」:

pytorch训练过程(支持CUDA11分布式训练)(4)

依然有人趁机表白 PyTorch,并列出偏好 PyTorch 的原因,如报错易读、代码直观、易于实验。

pytorch训练过程(支持CUDA11分布式训练)(5)

当然,版本更迭的路似乎永无止境。有开发者提出了自己的需求,例如 fp32 卷积、TensorFlow 有而 PyTorch 没有的 Semantic Versioning:

pytorch训练过程(支持CUDA11分布式训练)(6)

pytorch训练过程(支持CUDA11分布式训练)(7)

此时距离 PyTorch 1.6 版本发布仅三个月,不知道 PyTorch 的下一个版本又将带给我们哪些惊喜。

参考链接:

https://pytorch.org/blog/pytorch-1.7-released/

https://github.com/pytorch/pytorch/releases/tag/v1.7.0

https://www.reddit.com/r/MachineLearning/comments/jj4sr7/d_pytorch_17_released_w_cuda_11_new_apis_for_ffts/

,