PyTorch 1.0 稳定版终于正式发布了!

网友投稿 287 2022-11-01

PyTorch 1.0 稳定版终于正式发布了!

昨天,在 NeurIPS 大会上,Facebook 正式发布PyTorch 1.0 稳定版!

PyTorch团队主要成员,包括贾扬清

地址:

JIT编译器、C++ 前端等四大新功能

JIT

使用程序注释可以将现有模型转换为 Torch 脚本,这是 PyTorch 可以直接运行的 Python 子集。模型代码仍然是有效的 Python 代码,并且可以使用标准 Python 工具链进行调试。

PyTorch 1.0 提供了两种方法使现有代码与 JIT 兼容的方法,torch.jit.trace 或 torch.jit.script。一旦加上注释,Torch Script 代码就可以被积极地优化,并且可以序列化,以便在新的 c++ API 中使用。这个 API 完全不依赖 Python。

全新的分布式包

torch.distributed 软件包和 torch.nn.parallel.DistributedDataParallel 模块由全新的、重新设计的分布式库提供支持。新的库的主要亮点有:

新的 torch.distributed 是性能驱动的,并且对所有后端 (Gloo,NCCL 和 MPI) 完全异步操作。

为 torch.distributedpackage 中的所有分布式集合操作添加异步支持。

在 NCCL 后端添加 barrier 操作

为 NCCL 后端添加 new_group 支持

C++ 前端

C ++ 前端是 PyTorch 后端的纯 C ++ 接口,它遵循已建立的 Python 前端的 API 和体系结构。它旨在实现高性能、低延迟和裸机 C ++ 应用程序的研究。它提供了 torch.nn,torch.optim,torch.data 和 Python 前端的其他组件的对应版本。以下是两种语言前端的比较:

作为 PyTorch 1.0 的一部分,我们发布的是标记有 “API Unstable” 的 C ++ 前端。这意味着它已准备好用于你的研究应用程序,但仍有一些不稳定,我们将在接下来的几个版本中稳定下来。在此期间,API 的某些部分可能会发生大的更改。

Torch Hub

Torch Hub 是一个预训练的模型库,旨在促进研究的可重复性。

Torch Hub 支持使用简单的 hubconf.py 文件将预训练的模型(模型定义和预训练的权重)发布到 github 存储库; 以 pytorch/vision 中的 resnet 模型为例,请参阅 hubconf for resnet models in pytorch/vision。

不断增长的 PyTorch 社区

PyTorch 在 2017 年初首次推出,很快成为 AI 研究人员的热门选择。他们发现,由于其灵活、动态的编程环境和用户友好的界面,PyTorch 是快速实验的理想选择。从那时起,这个社区迅速发展起来。

PyTorch 现在是GitHub 上增长速度第二快的开源项目,在过去的 12 个月里,贡献者增加了 2.8 倍。

所有人都可以通过 Udacity 网站免费获得完整的课程,更高级的 PyTorch 课程则将很快通过 Udacity 的 AI 纳米学位提供。

我们非常高兴看到开发人员使用这个库取得的成功。例如,Santhosh Shetty 使用 fastai 将灾后损伤等级分类的准确率提高了一倍;Alena Harley 将肿瘤正常测序的假阳性率降低了 7 倍;Jason Antic 创建了一个名为 DeOldify 的项目,使用深度学习对旧图像进行着色和恢复。

图片由 Jason Antic 提供

PyTorch 已经被应用于从图像识别到机器翻译的各种用例。因此,我们看到来自开发者社区的各种各样的项目,这些项目扩展并支持了 PyTorch 开发。其中一些项目包括:

PyTorch Geometry——PyTorch 的几何计算机视觉库,提供一组例程和可微分模块。

TensorBoardX—一个将 PyTorch 模型记录到 TensorBoard 的模块,允许开发人员使用可视化工具进行模型训练。

此外,Facebook 的团队也在为 PyTorch 构建和开源项目,比如 Translate,这是一个基于 Facebook 机器翻译系统的用于训练 sequence-to-sequence 模型的库。

支持各种云

为了使 PyTorch 更易于访问和用户友好,我们继续深化与云平台和服务的合作,例如Amazon Web services、Google Cloud Platform和Microsoft Azure。

就在最近,AWS 推出了支持 PyTorch 的 Amazon SageMaker Neo,允许开发人员在 PyTorch 中构建机器学习模型,一次训练后即可部署到云或边缘的任何地方,并且性能提高了两倍。

开发人员现在还可以通过创建一个新的深度学习 VM 实例,在谷歌云平台上试用 PyTorch 1.0。

此外,微软的 Azure 机器学习服务现在已经普遍可用,它允许数据科学家在 Azure 上无缝地训练、管理和部署 PyTorch 模型。使用该服务的 Python SDK, PyTorch 开发人员可以利用按需分布式计算功能,用 PyTorch 1.0 大规模训练模型,以加速生产过程。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Nginx rewrite
下一篇:Spring源码之循环依赖之三级缓存详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~