内容简介:PyTorch 1.3 已经发布了,新的版本不仅能支持 Android/iOS 移动端部署,甚至还能让用户去对手 Google 的 Colab 上调用云 TPU。此外还有一大波新工具,涉及可解释性、加密、以及关于图像语音的诸多功能。PyTorch 1...
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 和安卓端。
当然,这个功能还是早期实验版本,针对端到端做了优化,新版本重点在:
- 大小优化,根据用户需要构建级别优化和选择性编译。
- 提升了移动 CPU 和 GPU 上的性能。
- 高级 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 处理器
参考:量子位
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。