鲸犀峰会
您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给三川
发送

0

Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈

本文作者:三川 2017-01-20 18:42
导语: Torch 的新生还是终结?

Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈

本周,Facebook 的 AI 研究团队发布了一个 Python 工具包,专门针对 GPU 加速的深度神经网络(DNN)编程。它有望辅助、或在一定程度上替代,现有的 Python 数学、统计库(比如 NumPy)。它实现了机器学习框架 Torch 在 Python 语言环境的执行。开发团队表示,除 Facebook之外,它还已经被推特、卡内基梅隆大学和 Salesforce 等机构采用。

Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈

使用 Pytorch 的机构

Torch 是一个十分老牌、对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。但由于其语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。如今,作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。雷锋网此前对 Torch 做过介绍。详情请看盘点四大民间机器学习开源框架:Theano、Caffe、Torch 和 SciKit-learn 

PyTorch 的特点和优势

PyTorch 提供了:

  • 运行在 GPU 或 CPU 之上、基础的张量操作库,

  • 内置的神经网络库

  • 模型训练功能

  • 支持共享内存的多进程并发(multiprocessing )库。PyTorch 开发团队表示:这对数据载入和 hogwild 训练十分有帮助。

PyTorch 的首要优势是,它处于机器学习第一大语言 Python 的生态圈之中,使得开发者能接入广大的 Python 库和软件。因此,Python 开发者能够用他们熟悉的风格写代码,而不需要针对外部 C 语言或 C++ 库的 wrapper,使用它的专门语言。雷锋网(公众号:雷锋网)获知,现有的工具包可以与 PyTorch 一起运行,比如 NumPy、SciPy 和 Cython(为了速度把 Python 编译成 C 语言)。

Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈

PyTorch 还为改进现有的神经网络,提供了更快速的方法——不需要从头重新构建整个网络。这是由于 PyTorch 采用了动态计算图(dynamic computational graph)结构,而不是大多数开源框架,比如 TensorFlow、Caffe、CNTK、Theano 等采用的静态计算图。雷锋网获知,该技术从另一个 Python 的神经网络框架——Chainer 那里借用。开发者团队还强调 PyTorch 优越的内存效率,因为它采用了定制的 GPU 内存分配器。这使得开发者的深度学习模型能够有“最大限度的内存效能”,训练比从前更大的深度神经网络

虽然 PyTorch 为机器学习应用而优化,这并不是它的唯一使用场景。比如说,相比 NumPy ,PyTorch 的张量计算可作为它对应功能的替代。PyTorch 为这些功能提供了 GPU 加速的版本。在没有强力 GPU 加持的情况下,开发者能使用 CPU 运行。

这是 PyTorch 中包含的工具包列表:

  • torch :类似  NumPy 的张量库,强 GPU 支持 

  • torch.autograd  :基于 tape 的自动区别库,支持 torch 之中的所有可区分张量运行。

  • torch.nn :为最大化灵活性未涉及、与 autograd 深度整合的神经网络库

  • torch.optim:与 torch.nn 一起使用的优化包,包含 SGD, RMSProp, LBFGS, Adam 等标准优化方式

  • torch.multiprocessing: python 多进程并发,进程之间 torch Tensors 的内存共享。

  • torch.utils:数据载入器。具有训练器和其他便利功能。 Trainer and other utility functions for convenience    

  • torch.legacy(.nn/.optim) :处于向后兼容性考虑,从 Torch 移植来的 legacy 代码。

via infoworld

相关文章:

英特尔开源BigDL,可直接在Spark框架下运行深度学习

盘点四大民间机器学习开源框架:Theano、Caffe、Torch 和 SciKit-learn

谷歌开源 3D 数据压缩算法 Draco,在线看片再也不用缓冲了?

谷歌布局大数据:开源平台 Apache Beam 正式发布

BAT 在下一盘大棋?深度盘点国内四大机器学习开源平台

谷歌、微软、OpenAI 等巨头的七大机器学习开源项目 看这篇就够了

雷锋网版权文章,未经授权禁止转载。详情见转载须知

Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈

分享:

文章点评:

表情

用爱救世界
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说