点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

来源丨机器之心

编辑丨极市平台

导读

PyTorch 团队发布了 PyTorch 1.9 版本。该版本整合了 1.8 版本发布以来的 3,400 多次 commit,398 名贡献者参与更新。提供了包括支持科学计算、前端 API、大规模分布式训练等主要改进和新特性。

近年来,深度学习框架 PyTorch 凭借着其对初学者的友好性和灵活性,发展迅猛。不久之前,PyTorch 官方博客发布 1.8 版本,此版本由 1.7 发布以来的 3000 多个 commit 组成,重要更新内容包括在编译、代码优化和科学计算前端 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 多个 commit,398 名贡献者参与更新。本次新版的更新,主要包含以下亮点:

  • 支持科学计算方面的重大改进,现已支持 torch.linalg、torch.special 以及 Complex Autograd;

  • 使用 Mobile Interpreter 对设备上的二进制大小进行重大改进;

  • 通过 TorchElastic 向 PyTorch Core 上游提供对弹性容错训练的本地支持;

  • PyTorch RPC 框架的更新,以支持 GPU 的大规模分布式训练;

  • 为模型推理部署优化性能和封装的新 API;

  • 支持 PyTorch Profiler 中的分布式训练、GPU 利用率和 SM efficiency。

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

此外,除了 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 的线性代数模块(现在支持 accelerators 和 autograd)中的每一个函数等等。

为了帮助调试和编写程序,PyTorch 1.9 包含了 torch.use_determinstic_algorithms option。启用此设置后,如果可能,操作的行为将是确定性的;如果操作的行为不可确定,则抛出运行时错误。以下是几个例子:

PyTorch Mobile

PyTorch 团队正在发布 Mobile Interpreter,一个 PyTorch 运行时的简化版本,beta 版。Interpreter 将在边缘设备中执行 PyTorch 程序,减少二进制大小的占用。

TorchVision 库:从 PyTorch 1.9 开始,用户可以在 iOS/Android 应用程序上使用 TorchVision 库。Torchvision 库包含了 C++ 的 Torchvision 操作,需要与 iOS 的主 PyTorch 库链接在一起,对于 Android,可以将其作为一个 gradle 依赖添加。这允许使用 TorchVision 预先构建的 MaskRCNN 操作符进行对象检测和分割。

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

分布式训练

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 可以显着提高推理工作负载的速度,同时保持安全并确保永远不会计算出不正确的梯度。

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

如果觉得有用,就请分享到朋友圈吧!

点个在看 paper不断!

PyTorch 1.9发布,支持新API,可在边缘设备中执行相关推荐

  1. 百度发布 PaddlePaddle 新 API;微软更新 Linux 平台虚拟机 DSVM 等 | AI 开发者头条

    ▲内容预览 百度发布 PaddlePaddle 新 API,以及免费手册<使用 PaddlePaddle 进行深度学习> 微软更新 Linux 平台的数据科学虚拟机(DSVM) 谷歌发布机 ...

  2. NeurIPS 2021 Spotlight | 准确、快速、内存经济,新框架MEST实现边缘设备友好的稀疏训练...

    点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 美国东北大学王言治教授.林雪教授研究组与威廉玛丽学院任彬教授研究组共同提出了一种稀疏训 ...

  3. PyTorch 1.8 发布,支持 AMD,优化大规模训练

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

  4. 提升普适性,阿里云官方SDK发布支持Go语言SDK

    摘要: 日前,阿里云官方SDK发布支持新语言--Go 语言SDK,意味着90%以上产品可以随时生成并发布Go SDK,给Go语言的开发者使用. 此次阿里云发布支持Go SDK的新功能,可以让Go语言开 ...

  5. DreamFactory - 第3章生成数据库支持的API

    DreamFactory - 第3章生成数据库支持的API DreamFactory的功能十分强大,但是除了生成数据库支持的REST API之外,没有比这更受欢迎的功能了.通过采用这种自动化方法,开发 ...

  6. 基于DDTBOX,使用线性支持向量回归(SVR)从ERP数据中解码连续变量

    导读 事件相关电位(ERP)数据的多变量分类分析是预测认知变量的强大工具.然而,分类通常仅限于分类变量,并未充分利用连续数据,如反应时间.反应力或主观评分.另一种方法是支持向量回归(SVR),它使用单 ...

  7. 安全专家在多家厂商的SOHO路由器和NAS设备中发现了125个新漏洞

    研究人员在十几种小型办公室/家庭办公室(SOHO)路由器和网络存储(NAS)设备中发现了许多漏洞. 这是一项名为[SOHOpelessly Broken 2.0](https://www.securi ...

  8. Google发布新API,支持训练更小、更快的AI模型

    雷锋网消息,Google今天发布了 Quantification Aware Training(QAT)API,使开发人员可以利用量化的优势来训练和部署模型AI模型.通过这个API,可以将输入值从大集 ...

  9. PyTorch 1.7发布,支持CUDA 11、Windows分布式训练

    机器之心报道 参与:魔王.小舟 昨日,PyTorch 团队发布 PyTorch 1.7 版本.该版本增添了很多新特性,如支持 CUDA 11.Windows 分布式训练.增加了支持快速傅里叶变换(FF ...

最新文章

  1. Springboot中给图片添加文字水印
  2. EAR部署websphere步骤
  3. Uber创始人:一个优秀创业者应具八种特质
  4. redis学习(三) 使用redis构建文章投票,发布后端
  5. 天鹅给癞蛤蟆的回信[转贴]
  6. python choice添加下拉框_自定义Django Form中choicefield下拉菜单选取数据库内容实例...
  7. 关于iptables配置的心得
  8. ubuntu如何查看系统是多少位和系统版本号
  9. 使用腾讯AI开放平台api进行车牌OCR识别和其他比如图片文字识别等通用
  10. Super超级ERP系统---(7)货位管理
  11. 教你轻松删除PDF文件中的空白页
  12. 《修C传》——初始C语言 <凝气篇>
  13. java.lang.IllegalStateException: Migration didn‘t properly handle
  14. Job for tomcat.service failed because the control process exited with error code 解决办法:
  15. learn2reg-配准介绍
  16. Response to preflight request doesn‘t pass access control check: No ‘Access-Control-Allow-Origin跨域问题
  17. JavaScript点击button更改内容,清空页面
  18. Spring Bean作用域与生命周期
  19. 字符串函数 tirm 的作用
  20. 前序中序出后序——二叉树

热门文章

  1. 详解Oracle安装与配置.
  2. 【组队学习】【34期】Scratch(二级)
  3. 胡锐锋:组队学习分享(队长)
  4. 做动态图表没有数据?用Python就能获取
  5. 11.11大促来袭,京东如何保障云安全?
  6. 深度整合英特尔傲腾,SmartX首发100us级超低延迟超融合解决方案
  7. 懂语言者得天下:NLP凭什么被称为人工智能的掌上明珠?
  8. 提高建模效率,改变手工作坊式生产,AutoML的技术研究与应用进展如何了?
  9. 武汉大学提出ARGAN:注意力循环生成对抗模型用于检测、去除图像阴影 | ICCV 2019...
  10. 简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册!