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

使用 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 语言)。

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 代码。

相关文章:

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

python是开源的.它可以被移植_Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈...相关推荐

  1. 曾遭作者“删库”的faker.js,现被社区接手;Apache Ambari 项目被弃用;FFmpeg 5.0 发布 | 开源日报

    整理 | 宋彤彤 责编 | 屠敏 开源吞噬世界的趋势下,借助开源软件,基于开源协议,任何人都可以得到项目的源代码,加以学习.修改,甚至是重新分发.关注「开源日报」,一文速览国内外的开源大事件吧! 一分 ...

  2. python是开源的.它可以被移植_python是开源的,它可以被移植到许多平台上,是对的吗?...

    python是开源的,它可以被移植到许多平台上,是对的吗? python是开源的,它可以被移植到许多平台上. Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义 ...

  3. 64岁Python之父退休失败,正式加入微软搞开源

    来源 | CSDN 今天,64岁的Python 之父 Guido van Rossum 在 Twitter 上正式宣布,退休太无聊,如今加入了微软开发者部门. Guido van Rossum 去年宣 ...

  4. 不愧是你!Python 之父退休太无聊,进微软搞开源!

    今天,Python 之父 Guido van Rossum 在 Twitter 上正式宣布,退休太无聊,如今加入了微软开发者部门. Guido van Rossum 去年宣布退出 Python 核心决 ...

  5. ffmpeg-0.8 移植到 windows 开源代码

    最新 ffmpeg-0.8 移植到 windows 开源代码 Posted on 2011-07-23 10:50  mcodec  阅读(2281) 评论(28)   编辑   收藏   最新 ff ...

  6. 《安富莱嵌入式周报》第312期:开源磁场照相机,仿生神经元PCB,开源无线耳机,手机系统PalmOS移植到各种单片机,开放系统组装协议OSAP

    周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Pow ...

  7. linux开源调色软件,几款达到专业水准,开源免费的视频编辑软件

    1.Kdenlive 打开今日头条,查看更多图片 Kdenlive 是一套开源的视频非线编辑软件,可以通过FFmpeg 编辑所有格式的视频文件,这就意味着 DV.HDV.mpeg.avi.mp4.mo ...

  8. 飞桨模型保存_重磅发布开源框架、生物计算平台螺旋桨,百度飞桨交了年终成绩单...

    机器之心报道 作者:蛋酱.张倩 在 12 月 20 日举行的「WAVE SUMMIT+ 2020 深度学习开发者峰会」上,飞桨平台交出了一份非常亮眼的年终成绩单. 2020 年,是不平凡的一年:这一年 ...

  9. 编程语言python入门要电脑什么配置能带动-对于几乎是零基础的人,直接学 Python 编程合适吗?...

    在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...

最新文章

  1. Hive 基本语法操练(四):Hive 复合类型
  2. android高仿微信拍照、多选、预览、删除(去除相片)相冊功能
  3. wifi密码破解与攻击
  4. 剑桥少儿英语预备级教案(上) unit8 How many doors?
  5. python二十四:python练习题
  6. jvm调优:GC日志格式
  7. 查看redhat版本信息
  8. Android 创建文件,删除文件,加载本地txt文件,string转txt文件,创建文件夹,读取文件夹,open failed: ENOENT
  9. excel 2007 vba与宏完全剖析_Excel怎么保护自己的劳动成果?强制用户启用宏,再加上这一步...
  10. 3dmax天光渲染设置_【扮家家云渲染效果图】3dmax测试全局照明效果|干货教程...
  11. Qt工作笔记-QGraphics重设场景坐标【标签:Qt图形框架】
  12. 终于来了!iOS 13大更新发布,新功能均与新冠疫情有关
  13. mxnet系列 tools 查看params的内容
  14. 程序员如何与产品经理优雅的干架
  15. androidx指纹验证
  16. html 6是什么格式,ac6是什么格式
  17. python认证教程_基于 Python+SendCloud 的邮箱认证
  18. 对话庄表伟:开源第一课
  19. 如何选择一款好相机?
  20. 大事件!PCIe SSD与SATA SSD同价啦

热门文章

  1. C++中实现链表的删除和颠倒
  2. 创业之前,您应该好好听我说
  3. Android 游戏开发必备的基础知识
  4. PySpider HTTP 599: SSL certificate problem错误的解决方法
  5. better-scroll刷新后才能滑动的解决方案
  6. 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)
  7. 谷歌 chrome 浏览器开发者工具打不开的解决方法
  8. iis 站点中文乱码 解决方案
  9. vue解决启动报错cjs loader.js Error: Cannot find module ‘../config‘问题
  10. NullPointerException异常的原因及java异常??