python api接口python中wxpy

机器心脏报告

编辑:优雅手机

PyTorch团队发布了PyTorch 1.9的1.9版本这个版本自1.8版本发布以来集成了3400多个commit,有398个投稿人参与了更新。提供了主要改进和新功能,包括支持科学计算、前端应用编程接口和大规模分布式培训。

近年来,深度学习框架PyTorch以其对初学者的友好性和灵活性发展迅速。不久前,PyTorch的官方博客发布了1.8版本,该版本由1.7版本发布以来的3000多次提交组成。重要的更新包括编译、代码优化和科学计算前端API的优化和改进,以及通过pytorch.org提供的二进制文件对AMD ROCm的支持。

现在PyTorch正式宣布PyTorch 1.9已经发布!

完整文件地址:https://pytorch.org/blog/pytorch-1.9-released/

GitHub地址:https://github.com/pytorch/pytorch/releases

自从Pytorch 1.8版本发布以来,这个新版本的发布已经包括了超过3,400个提交者和398个参与更新的贡献者。此次新版的更新主要包括以下亮点:

支持科学计算的重大改进,现在支持torch.linalg、torch.special和Complex Autograd;使用移动解释器显著提高设备上的二进制文件大小;通过火炬中心向PyTorch Core上游提供灵活容错培训的本地支持;更新PyTorch RPC框架,支持GPU大规模分布式训练;部署新的API优化模型推理的性能和封装;在PyTorch Profiler中支持分布式训练、GPU利用率和SM效率。注:从PyTorch的1.6版本来看,Pytorch的功能可以分为稳定版、Beta版和原型版。

此外,除了PyTorch 1.9的发布,团队还发布了PyTorch库的重大更新。

PyTorch图书馆更新地址:https://pytorch.org/blog/pytorch-1.9-new-library-releases/

PyTorch 1.9的新功能

前端API

Torch.linalg:在PyTorch 1.9中,torch.linalg模块正在接近稳定版。线性代数对于深度学习和科学计算非常重要。torch.linalg模块扩展了PyTorch对线性代数的支持,实现了NumPy的线性代数模块中的每一个功能现在支持加速器和autograd)等等。

为了帮助调试和编写程序,PyTorch 1.9包含torch . use _ determinative _ algorithms选项。启用此设置时,如果可能,操作行为将是确定性的;如果操作的行为不确定,则会引发运行时错误。这里有几个例子:

PyTorch手机

PyTorch团队正在发布Mobile解释器,这是PyTorch运行时的简化版本,测试版。解释器将在边缘设备中执行PyTorch程序,以减少对二进制文件大小的占用。

TorchVision库:从PyTorch 1.9开始,用户可以在iOS/Android应用上使用TorchVision库。Torchwision库包含C的Torchwision操作,需要和iOS的主Python库链接。对于安卓来说,它可以作为一个梯度依赖来添加。这允许使用由TorchVision预先构建的MaskRCNN操作符进行对象检测和分割。

PyTorch团队正在发布基于PyTorch Video Library的新视频应用程序,以及基于最新的torchaudio和wave2vec型号的更新语音识别应用程序。这两个版本都可以在iOS和安卓上使用。此外,研究团队还更新了7个计算机视觉和3个自然语言处理演示应用,包括HuggingFace Stephabet和DeiT Vision transformer模型,以及PyTorch Mobile v1.9随着这两个应用的加入,现在提供了一套完整的演示应用,包括图像、文本、音频和视频。

img.com/origin/pgc-image/02b41ac8acf349f79744316fd58fbd31?from=pc”>

分布式训练

TorchElastic 现在是 PyTorch 核心的一部分。可以让 PyTorch 分布式训练具备弹性伸缩与自动容错的能力。

当分布式训练中某个 worker 发生异常错误 如机器宕机)、高优先级任务抢占资源等情况时,支持 worker 重启或转移而不需要停止训练。可以先运行在最小资源集合下,当有更多空闲资源时,可以动态扩容 worker 数运行在更多的资源上以便提升训练效率;当部分资源因某些原因要释放时,也可以动态缩容 worker 数释放占用的部分资源。

弹性 Elastic): 可以先运行在最小资源集合下,当有更多空闲资源时,可以动态扩容 worker 数运行在更多的资源上以便提升训练效率;当部分资源因某些原因要释放时,也可以动态缩容 worker 数释放占用的部分资源。

性能优化以及工具

Freezing API:模块冻结是将模块参数和属性值作为常量内联到 TorchScript 内部表示中的过程。这允许进一步优化和专门化程序,包括 TorchScript 优化,optimize_for_mobile API 、ONNX 和其他工具都使用它。

在模型部署时推荐 Freezing。这是训练、调优或调试 PyTorch 模型所必需的。它支持在非冻结图形上语义无效的图形融合,例如 fusing Conv-BN。

PyToch 1.9 对 torch.profiler API 的支持扩展到更多版本,包括 Windows 和 Mac,而不是以前的 torch.autograd.profiler API。新 API 支持现有的 profiler 功能,与 CUPTI 库(仅限 Linux)集成,跟踪设备 CUDA 内核,并支持长期运行作业,例如:

推理模式 API 可以显着提高推理工作负载的速度,同时保持安全并确保永远不会计算出不正确的梯度。

了解更多内容,请参考官方文档。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注