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

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

使用 Pytorch 的机构

Torch 是一个十分老牌、对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。但由于其语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。如今,作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。AI 科技评论此前对 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 语言)。

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

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【更新】机器学习干货大放送,再来5G资料送你

新智元干货 【新智元导读】在第一期机器学习资料的基础上,我们又更新了课程《机器学习技法》《机器学习基础》《机器学习基石》《线性代数》等。 课程更新:《机器...

2395
来自专栏人工智能

如何充分利用机器学习的书籍和课程

如今,在网上网下,我们有许多机器学习书籍和课程可用来学习,而同时网上又掀起了大学课程和电子书逐渐免费的趋势。太多的优秀资源可以使用也许会让您感觉到要被压倒。而这...

2036
来自专栏AI科技大本营的专栏

资源 | 10x Python开发者必读:本月Python文章TOP 10

翻译 | AI科技大本营 参与 | 刘畅 编辑 | Donna 【AI科技大本营导语】Medium热门博客Mybridge AI例行评出本月10篇有助于提升你职...

33615
来自专栏算法channel

哪些算法和数据结构是程序员需要掌握的?

作为一名程序员,大家有没有想过:编码最本质的知识是什么?算法和数据结构或许是,至少很多人这么认为。很多程序员也意识到了算法和数据结构的重要性,下定决心花力气学习...

830
来自专栏大数据挖掘DT机器学习

机器学习与数据挖掘网上资源搜罗——良心推荐

作者: 左飞 著有《算法之美——隐匿在数据结构背后的原理(C++版)》 原文 http://blog.csdn.net/baimafujinji/articl...

3368
来自专栏数据科学与人工智能

【机器学习】机器学习的11个开源项目

机器学习是目前数据分析领域的一个热点内容,在平时的学习和生活中经常会用到各种各样的机器学习算法。实际上,基于Python、Java等的很多机器学习算法基本都被前...

2789
来自专栏逍遥剑客的游戏开发

About Lightmap Baking

1112
来自专栏大数据文摘

用Python进行数据可视化的10种方法

3225
来自专栏大数据挖掘DT机器学习

大数据分析:机器学习算法实现的演化

下面将会对机器学习算法的不同的实现范式进行讲解,既有来自文献中的,也有来自开源社区里的。首先,这里列出了目前可用的三代机器学习工具。 传统的机器学习和数据分析的...

41110
来自专栏用户2442861的专栏

DL4J与Torch、Theano、Caffe、TensorFlow的比较

https://deeplearning4j.org/cn/compare-dl4j-torch7-pylearn

552

扫描关注云+社区