动态丨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 条评论
登录 后参与评论

相关文章

来自专栏BestSDK

【重磅!】Facebook 发布开源框架 PyTorch,兼容 Python

本周,Facebook 的 AI 研究团队发布了一个 Python 工具包,专门针对 GPU 加速的深度神经网络(DNN)编程。它有望辅助、或在一定程度上替代,...

3596
来自专栏人工智能

老师木讲架构:深度学习平台技术演进

新智元推荐 来源:OneFlow 【新智元导读】近日,袁进辉(老师木)代表OneFlow团队在全球互联网架构大会上海站做了《深度学习平台技术演进》的报告。报告包...

3898
来自专栏企鹅号快讯

第二课:开发机器学习app前的准备工作

框架的选择 如上一节课所说,随着机器学习的发展,目前已经出现很多不错的学习框架,这里我们做个对比: TensorFlow:深度学习最流行的库之一,它不仅便携、高...

2257
来自专栏量子位

李飞飞团队提出视频事件描述新模型,附849小时数据集

安妮 编译整理 量子位 出品 | 公众号 QbitAI 最近,斯坦福大学的李飞飞与与她的学生Ranjay Krishna、Kenji Hata、Frederic...

3275
来自专栏ATYUN订阅号

DeepMind开源强化学习库TRFL,可在TensorFlow中编写强化学习智能体

今天,DeepMind开源了一个新的构建模块库,用于在TensorFlow中编写强化学习(RL)智能体。名为TRFL(发音为’truffle’),它代表了其内部...

572
来自专栏ATYUN订阅号

NVIDIA发布了TensorRT 4,极大加速神经机器翻译

NVIDIA发布了TensorRT 4,其新功能可加速GPU上神经机器翻译(NMT)应用的推断。

1114
来自专栏人人都是极客

第二课:开发机器学习app前的准备工作

框架的选择 如上一节课所说,随着机器学习的发展,目前已经出现很多不错的学习框架,这里我们做个对比: TensorFlow:深度学习最流行的库之一,它不仅便携、高...

29610
来自专栏AI研习社

PyTorch 到底好用在哪里?

提问内容如下: 之前非常熟悉 Tensorflow,后来都说 PyTorch 简单易上手,自己就去试了试。 PyTorch 连最基本的 maximum, min...

4364
来自专栏机器人网

[学习}28 款 GitHub 最流行的开源机器学习项目

现在机器学习逐渐成为行业热门,经过二十几年的发展,机器学习目前也有了十分广泛的应用,如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊...

3408
来自专栏望昕宇的专栏

Guetzli:谷歌家的东西可能也没有想像的辣么美

这两天笔者的朋友圈被 Google 开源 JPEG 编码器 Guetzli 刷屏,“图片大小减小35%”、“质量不变”这样的字眼刺激了我们的肾上腺,如果这样的神...

1.4K0

扫码关注云+社区