炼丹师的福音支持AMD,PyTor

治疗白癜风去哪家医院好 http://pf.39.net/bdfyy/bjzkbdfyy/

PyTorch1.8发布,整体来看,本次更新涵盖1.7版本发布以来,共计多次Github提交,包括编译、代码优化、科学计算前端API以及通过pytorch.org提供的二进制文件支持AMDROCm。

PyTorch是一个开源的Python机器学习库。年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,用于自然语言处理等应用程序。

近日,Facebook发布了PyTorch1.8新版本,加入了对AMDROCm的支持,可以不用去配置Docker在原生环境下运行。

其中一些重大更新包括:

支持通过torch.fx进行函数转换;增加和调整API以支持FFT(torch.fft)、线性代数函数(torch.linalg)添加了复杂张量自动求导(autograd)的支持,并提升了矩阵计算hessian和jacobian的能力;对分布式训练进行了重大更新和改进,包括:改进NCCL可靠性,支持管道并行,RPC分析,支持添加梯度压缩的通讯钩子。

在PyTorch1.8版本中,官方对一些PyTorch库也进行了相应的更新,主要包括TorchCSPRNG、TorchVision、TorchText和TorchAudio。

PyTorch1.8版本中的功能分为稳定版(Stable)、测试版(Beta)和原型版(Prototype)。

新增及更新API

新增及更新API包括:与NumPy兼容的额外API,及在推理和训练时方面,提高代码性能的额外API。

PyTorch1.8主要更新功能简介:

[稳定版]Torch.fft支持高性能NumPy中的FFT实现了NumPynp.ft功能的同时,还支持硬件加速和autograd

[测试版]torch.linalg将支持NumPy中的线性代数函为常见的线性代数运算提供与NumPy类似的支持,支持Cholesky分解、行列式、特征值等功能。

[测试版]利用FX进行Pthon代码转换。

增强分布式训练

PyTorch1.8支持稳定的异步错误/超时处理,以提高NCCL稳定性;

此外,还增加了对管道并行的支持,可将数据拆解成更小的块以提高并行计算效率。

并可以通过DDP中的通讯钩子进行梯度压缩,用于控制如何在workers之间同步梯度。

此外,PyTorch1.8还增加了一些prototype特性,具体如下:

ZeroRedundancyOptimizer:有助于减少每个线程的内存占用;

进程组NCCL发送/接收:允许用户在Python层(而非C++层)实现集合操作;

RPC中用TensorPipe支持CUDA:为使用PyTorchRPC和多GPU机器的用户带来速度提升;

远程模块:允许用户像操作本地模块那样操作远程worker上的模块。

PyTorch移动端

本次更新发布了图像分割模型DeepLabV3在安卓和IOS,能更好地帮助新用户将PyTorch模型部署在移动端。

PyTorch移动端新增教程包括:

iOS端用DeepLabV3进行图像分割

Android端用DeepLabV3进行图像分割

同时为老用户提供开发工具,让其更得心应手地用PyTorch进行移动端开发。

性能优化工具

新增测试版benchmarkutils,使用户能够更轻松地监控模型性能。还开放了一个自动量化API,能改进EagerModeQuantization。

BenchmarkutilsBenchmarkutils允许用户进行精确的性能测量,并提供组合工具,帮助制定基准和进行后期处理。

FXGraphModeQuantization新增的自动量化API,它通过增加函数支持和自动化量化过程,改进EagerModeQuantization。

硬件支持

PyTorch1.8版本新增了两个测试版本特性

强化PyTorchDispatcher的能力,使其适应C++中后端开发支持用户在pytorch/pytorchrepo之外创建新的树外设备,并与本地PyTorch设备保持同步。

AMDGPU二进制文件现已推出新增对ROCmwheel的支持。

需要注意的是,PyTorch1.8仅在Linux系统中支持AMDROCm。

参考资料:




转载请注明:http://www.aierlanlan.com/cyrz/3826.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了