木易发自凹非寺量子位报道公众号QbitAI自从7月份CUDA11发布以来,就陆陆续续听到了网友类似的吐槽:这正说着,10月27日,PyTorch团队发布了PyTorch1.7,终于能支持CUDA11了,可喜可贺(狗头)。除此之外,这次1.7的版本,也带来了许多功能的更新和稳定。
在更新上,有了许多新的应用编程接口,如支持与NumPy兼容的快速傅立叶变换的操作及性能分析工具。此外,分布式数据并行(DDP)和基于远程过程调用(RPC)的分布式训练也有了重大的更新,在Windows平台上的分布式训练提供支持。
最后,一些功能也稳定了下来,包括torchvision中的本机图像IO,torchaudio中的语音识别、文字转语音等许多功能。自从PyTorch1.6开始,PyTorch的功能便分为稳定版(stable),测试版(Beta)和原型版(prototype)。
那么,这次PyTorch1.7又具体从哪些方面带来了新的功能,这些功能又进展到哪一版本呢?接下来让我们来快速盘点一下。前端API前端API共有3项更新,都是处于测试版状态。NUMPY兼容的TORCH.FFT模块[BETA]PyTorch1.7版本增加了一个新的torch.fft模块,该模块使用与NumPy相同的API来实现与FFT相关的功能。
对变压器神经网络模块的C++支持[BETA]1.7版本更新后,开发人员可以从C++前端直接使用nn.transformer模块抽象。TORCH.SET_DETERMINISTIC[BETA]PyTorch1.7增加了torch.set_determinative(bool)函数,该函数可以指导PyTorch操作者在可用时选择确定性算法,并在操作可能导致不确定性行为时引发运行时错误。
性能分析堆栈跟踪添加至探查器[BETA]探查器可以帮助操作者追踪操作符的名称及输入等信息,而在1.7版本更新后,他们还可以追踪操作符在代码中的位置。分布式训练RPC分布式训练和RPC有着最多的更新数目7项,这其中有1项稳定版、5项测试版及1项原型版。Torchelastic捆绑进PYTORCHDOCKER镜像[STABLE]Torchelastic提供了当前torch.distributed.launch命令行界面的严格超集,并增加了容错和弹性功能。
通过将Torchelastic捆绑在与PyTorch相同的docker镜像中,用户可以立即开始试用TorchElastic而不必单独安装。支持DDP中不均匀的数据集输入[BETA]PyTorch1.7引入了一个新的上下文管理器,该管理器将与使用torch.nn.parallel.DistributedDataParallel训练的模型结合使用,以便能够在不同的过程中使用不均匀的数据集大小进行训练。NCCL可靠性-异步错误/超时处理[BETA]过去由于集合体拥挤,NCCL训练可能会死机。如果检测到潜在的死机,此功能将中止卡住的集合体,并抛离异常或崩溃的程序。
TORCHSCRIPTRPC_REMOTERPC_SYNC[BETA]PyTorch1.7将功能将扩展到其余两个核心RPCAPI,完成针对TorchScript支持的主要RPCAPI,它允许用户使用TorchScript中的现有pythonRPCAPI。分布式优化器的TORCHSCRIPT支持[BETA]在PyTorch1.7中,启用分布式优化器中的TorchScript支持来删除GIL,并使在多线程应用程序中运行优化器成为可能。
新的分布式优化器与以前有完全相同的接口,但是它自动将每个工作器中的优化器转换成TorchScript,使每个GIL空闲。增强基于RPC的分析[BETA]PyTorch1.6首次引入了对将PyTorch分析器与RPC框架结合使用的支持。在PyTorch1.7中,进行了以下增强:实现了对通过RPC分析TorchScript函数的更好支持在与RPC配合使用的探查器功能方面实现了均等在服务器端增加了对异步RPC函数的支持分布式训练的WINDOWS支持[PROTOTYPE]PyTorch1.7为Windows平台上的分布式数据并行和集合通信带来了原型支持。
移动支持PyTorchMobile通过Cocoapods和JCenter中提供的二进制软件包同时支持iOS和Android。提高性能的PYTORCH移动缓存分配器[BETA]为了减少性能损失,PyTorch1.7为CPU提供了一个简单的缓存分配器。分配器根据张量大小缓存分配,目前只能通过PyTorchC++API获得。视觉工具包torchvision变换现在支持张量输入、批量计算、图形处理器和TORCHSCRIPT[STABLE]PyTorch1.7实现了以下新功能:支持图形处理器加速批量转换,如视频所需变换多波段torch张量图像(多于3-4个通道)torchscript将与用户部署的模型一起转换JPEG和PNG格式的本机图像IO[STABLE]torchvision0.8.0引入了针对JPEG和PNG格式的本机图像读取和写入操作。
RETINANET检测模型[STABLE]该版本为RetinaNet增加了预处理模型。新的视频读取API[BETA]这个版本引入了一个新的视频阅读抽象,它提供了对视频迭代的更细粒度的控制。它支持图像和音频,并实现了一个迭代器接口,因此它可以与其他python库之间互操作。
音频工具包torchaudio在此版本中,torchaudio扩展了对模型和端到端应用程序的支持,增加了wav2letter训练管道、端到端文本到语音和源分离管道。语音识别[STABLE]在wav2letter模型的基础上,新版本现在添加了一个带有LibriSpeech数据集的wav2letter训练管道示例。文字转语音[STABLE]新版本添加了一个基于WaveRNN模型的声码器,此外还提供了一个WaveRNN训练管道的例子。
声源分离[STABLE]在论文Conv-TasNet:SurpassingIdealTime-FrequencyMagnitudeMaskingforSpeechSeparation的基础上,增加了ConvTasNet模型,支持声源分离。网友讨论:PyTorch更直观易懂、更新比TF快对于PyTorch的更新,在reddit引起了网友其与Tensorflow的讨论。从网友的讨论来看,直观、易懂似乎是PyTorch胜过Tensorflow的一大优势。
然而,也有网友指出了PyTorch的不足:PyTorch在边缘计算并没有Tensorflow成熟。最后,还有网友发出了灵魂拷问:PyTorch更新它的官方支持好像比TF更快?稳定性和更新率,你们更喜欢其中哪一种呢?如果是你的话,会更喜欢哪一种呢?参考链接:https://pytorch.org/blog/pytorch-1.7-released/https://github.com/pytorch/pytorch/releaseshttps://www.reddit.com/r/MachineLearning/comments/jj4sr7/d_pytorch_17_released_w_cuda_11_new_apis_for_ffts/?sort=new。
本文关键词:金年会jinnianhui,金年会金字招牌诚信至上龙年,金年汇app官方网站下载安装,金年会官网登录入口,金年会金字招牌在线入口
本文来源:金年会jinnianhui-www.sicrush.com