热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PyTorch1.0稳定版正式发布!

【新智元导读】PyTorch1.0稳定版终于正式发布了!新版本增加了JIT编译器、全新的分布式包、C++前端,以及TorchHub等新功能,支持AWS、谷歌云、微软Azure等云平

【新智元导读】PyTorch 1.0 稳定版终于正式发布了!新版本增加了 JIT 编译器、全新的分布式包、C++ 前端,以及 Torch Hub 等新功能,支持 AWS、谷歌云、微软 Azure 等云平台,一句话,强大!

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

这距离 PyTorch 1.0 预览版发布仅仅过去了两个月。PyTorch 1.0 预览版首次发布是在 10 月份的 PyTorch 开发者大会,新增了面向生产的特征和主要云平台的支持等功能,被认为 90% 的功能能经受住业界的考验。

题外话,NeurIPS 大会上,同一天 TensorFlow 团队和 PyTorch 团队先后有一个演讲,介绍他们的框架。网友表示,这就像现实版的 “Mac 和 PC 之争”(PyTorch 是 Mac)。TensorFlow 2.0 将在 2019 年正式发布。

回到 PyTorch1.0,研究人员和工程师现在可以轻松地充分利用这个开源深度学习框架的新特性,包括一个用于 eager 和 graph execution 模型无缝转换的 hybrid 前端,改进的分布式训练,用于高性能研究的纯 C++ 前端,以及与云平台的深度集成。

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》 PyTorch 团队主要成员,包括贾扬清

此外,PyTorch 1.0 加速了 AI 从研究原型开发到生产部署的工作流程,并使其更容易入门。在过去几个月,初学者通过各种教育项目快速开始使用 PyTorch,专家们构建各种创新项目,将框架扩展到从自然语言处理到概率编程的各个领域。

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》

PyTorch 1.0 稳定版增加了一系列新功能,包括 JIT Compiler,全新的分布式包、C++ 前端,以及 Torch Hub。以及大量更新、新增特征、bug 修复等:

《PyTorch 1.0 稳定版正式发布!》

地址:

https://github.com/pytorch/pytorch/releases/tag/v1.0.0

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

JIT

JIT 是一组编译器工具,用于缩小 PyTorch 在研究和生产上的鸿沟。它允许创建可以在不依赖 Python 解释器的情况下运行的模型,并且可以更积极地优化这些模型。

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

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

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》

全新的分布式包

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

  • 新的 torch.distributed 是性能驱动的,并且对所有后端 (Gloo,NCCL 和 MPI) 完全异步操作。
  • 显着的分布式数据并行性能改进,尤其适用于网络较慢的主机,如基于以太网的主机。
  • 为 torch.distributedpackage 中的所有分布式集合操作添加异步支持。
  • 在 Gloo 后端添加以下 CPU 操作:send,recv,reduce,all_gather,gather,scatter
  • 在 NCCL 后端添加 barrier 操作
  • 为 NCCL 后端添加 new_group 支持

C++ 前端

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

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》

作为 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。

发布后,用户可以使用 torch.hub.load API 加载预先训练的模型。更多详细信息,请阅读 torch.hub 文档。

不断增长的 PyTorch 社区

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

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

此外,Facebook 提供了一系列教育项目,帮助开发人员更轻松地学习如何使用 PyTorch 构建、训练和部署机器学习模型。

上个月,Udacity 和 Facebook 联合推出一门新课程——PyTorch 深度学习入门 (Introduction to Deep Learning with PyTorch),以及 PyTorch Challenge Program,该项目旨在为继续接受 AI 教育提供奖学金。仅仅几个星期,已经有全球各地成千上万的学生在网上积极学习。

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》

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

除了在线教育课程,fast.ai 等组织还提供了一些软件库来支持开发人员学习如何使用 PyTorch 构建神经网络。fastai 是一个简化训练神经网络的库,自从两个月前发布以来,已经在 GitHub 上获得了 10000 颗星星。

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

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》 图片由 Jason Antic 提供

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

  • Horovod——一个分布式训练框架,它使开发人员可以轻松地使用单个 GPU 程序,并在多个 GPU 上快速进行训练。
  • PyTorch Geometry——PyTorch 的几何计算机视觉库,提供一组例程和可微分模块。
  • TensorBoardX—一个将 PyTorch 模型记录到 TensorBoard 的模块,允许开发人员使用可视化工具进行模型训练。

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

支持各种云

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

《PyTorch 1.0 稳定版正式发布!》
《PyTorch 1.0 稳定版正式发布!》

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

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

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

链接:

https://code.fb.com/ai-research/pytorch-developer-ecosystem-expands-1-0-stable-release/

https://github.com/pytorch/pytorch/releases/tag/v1.0.0


推荐阅读
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 视觉图像的生成机制与英文术语解析
    近期,Google Brain、牛津大学和清华大学等多家研究机构相继发布了关于多层感知机(MLP)在视觉图像分类中的应用成果。这些研究深入探讨了MLP在视觉任务中的工作机制,并解析了相关技术术语,为理解视觉图像生成提供了新的视角和方法。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Milvus 获邀参加 2020 开源软件供应链峰会,探讨大数据领域的创新应用与实践
    2020年11月14日至15日,由中国科学软件研究所和openEuler社区联合主办的开源软件供应链峰会在南京玄武苏宁诺富特酒店隆重召开。作为开源社区的重要成员,Milvus受邀参加了此次盛会,与业界专家共同探讨了大数据领域的创新应用与实践经验。会上,Milvus分享了其在高性能向量搜索引擎方面的最新进展和技术突破,为大数据处理和分析提供了新的解决方案。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
author-avatar
Shellycs68
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有