您现在的位置是:首页 > 文章详情

PyTorch 1.3 发布

日期:2019-10-11点击:434

PyTorch 1.3 已经发布了,新的版本不仅能支持 Android/iOS 移动端部署,甚至还能让用户去对手 Google 的 Colab 上调用云 TPU。此外还有一大波新工具,涉及可解释性、加密、以及关于图像语音的诸多功能。PyTorch 1.3 带来了三个实验性的新功能:

命名张量

允许用户给张量维度命名,从而让张量更易用,这样就可以直接喊他们的名字,不用根据位置来跟踪张量维度。

升级之前,你需要在代码里写注释来给张量命名:

 # Tensor[N, C, H, W] images = torch.randn(32, 3, 56, 56) images.sum(dim=1) images.select(dim=1, index=0)

升级之后,就直接能在代码里写了,这样可读性大大提高:

 NCHW = [‘N’, ‘C’, ‘H’, ‘W’] images = torch.randn(32, 3, 56, 56, names=NCHW) images.sum('C') images.select('C', index=0)

另外,这项功能还能自动检查 API 是否被正确的使用,提升了安全性,还可以直接用名字来重新排列尺寸。

量化支持

开发 ML 应用程序时,有效利用服务器端和设备上的计算资源非常重要。

为了支持在服务器和边缘设备上进行更有效的部署,PyTorch 1.3 现在支持用 eager 模式进行 8 位模型量化。所谓量化,是指降低精度执行计算和存储的技术。

当前处于实验性的量化功能包括对后训练量化(post-training quantization)、动态量化(dynamic quantization)和量化感知训练(quantization-aware training)的支持。它分别利用了 x86 和 ARM CPU 的 FBGEMM 和 QNNPACK 最新的量化内核后端,这些后端与 PyTorch 集成在一起,并且现在共享一个通用 API。

移动端

另外,为了在边缘设备上高效的运行机器学习,PyTorch 1.3 支持端到端的工作流,从 Python 到部署在 iOS 和安卓端。

当然,这个功能还是早期实验版本,针对端到端做了优化,新版本重点在:

  1. 大小优化,根据用户需要构建级别优化和选择性编译。
  2. 提升了移动 CPU 和 GPU 上的性能。
  3. 高级 API:扩展移动原生 API,覆盖常用预处理、将机器学习合并到移动应用需要的集成任务,比如计算机视觉或者 NLP 的任务。

新工具

  • 可解释性工具 Captum:Captum 可以帮助使用 PyTorch 的开发者了解为什么他们的模型生成某个特定输出。Captum 提供了先进的工具来理解特定神经元和层如何影响模型做出的预测。下面的案例展示了如何在预训练的ResNet模型上应用模型可解释性算法,然后通过将每个像素的属性叠加在图像上,使其可视化:
 noise_tunnel = NoiseTunnel(integrated_gradients) attributions_ig_nt, delta = noise_tunnel.attribute(input, n_samples=10, nt_type='smoothgrad_sq', target=pred_label_idx) _ = viz.visualize_image_attr_multiple(["original_image", "heat_map"], ["all", "positive"], np.transpose(attributions_ig_nt.squeeze().cpu().detach().numpy(), (1,2,0)), np.transpose(transformed_img.squeeze().cpu().detach().numpy(), (1,2,0)), cmap=default_cmap, show_colorbar=True)

 

  • 加密工具 Cryp Ten:这是一个新的基于社区的研究平台,用于推动隐私保护 ML 领域的发展。

多模 AI 系统工具

  • Detectron2:Detectron2 是在 PyTorch 中实现的目标检测库。它以增强的灵活性帮助计算机视觉研究,并改善可维护性和可伸缩性,以支持在生产中的用
  • Fairseq 的语音扩展:语言翻译和音频处理是系统和应用程序(例如搜索,翻译,语音和助手)中的关键组件。由于变压器等新架构的发展以及大规模的预训练方法的发展,最近在这些领域取得了巨大的进步。

云端支持

  • 谷歌云 TPU:在 Facebook、Google 和 Salesforce 的工程师共同努力下,新版的 PyTorch 加入对了云 TPU 支持,包括对超级计算机云 TPU Pods 的实验性支持。谷歌 Colab 还提供了对云 TPU 的 PyTorch 支持。
  • 阿里云:阿里云的集成涉及 PyTorch 1.x 的一键式解决方案,数据科学 Workshop notebook 服务,使用 Gloo/NCCL 进行的分布式训练,以及与阿里巴巴 IaaS(如 OSS、ODPS 和 NAS)的无缝集成。

  • 硬件生态扩展:除了主要的 GPU 和 CPU 合作伙伴之外,PyTorch 生态系统还支持专用的机器学习加速器。比如英特尔不久前推出的 NNP-I 推理芯片、Habana Labs 的 AI 处理器

参考:量子位 

原文链接:https://www.oschina.net/news/110493/pytorch-1-3-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章