【导读】Kears作者François Chollet刚刚在Twitter贴出最近三个月在arXiv提到的深度学习框架,TensorFlow不出意外排名第一,Keras排名第二。随后是Caffe、PyTorch和Theano,再次是MXNet、Chainer和CNTK。

Keras作者François Chollet刚刚在Twitter贴出一张图片,是近三个月来arXiv上提到的深度学习开源框架排行:

TensorFlow排名第一,这个或许并不出意外,Keras排名第二,随后是Caffe、PyTorch和Theano,再次是MXNet、Chainer和CNTK。

Chollet在推文中补充,Kears的使用在产业界和整个数据科学圈中最占主流,产业既包括大公司也包括创业公司。不过,在研究社区,Keras的份额要小很多。

这个统计结果是使用Google Search Index得到的。

这个排名让人想起来之前François Chollet晒的另外一次排名(时间范围是2017年4月到7月,综合Github上issue、fork、contributors等数据得到的活跃度),也是TensorFlow和Keras排名第一和第二。

不过,在Github的那次排名,MXNet、PyTorch的名次明显上升。

针对近三个月来arXiv的深度学习框架排名结果,有人评论,他很遗憾Theano排名如此靠后,Theano是他的第一个框架。

深度学习的图景总是在不断变化,Theano是第一个被广泛采用的深度学习框架,由Yoshua Bengio领导的MILA创建和维护。但2017年9月,MILA宣布将在2018年终止Theano的开发和维护。Theano的离开不禁让人感慨,这也是第一个退出舞台的流行框架。

TensorFlow性能并非最优,为何如此受欢迎?粉丝团!

在过去的几年里,出现了不同的开源Python深度学习框架,TensorFlow就属于其中典型,由谷歌开发和支持,自然引发了很大的关注。

但需要指出,根据香港香港浸会大学褚晓文教授团队在2017年推出深度学习工具评测的研究报告《 基准评测 TensorFlow、Caffe、CNTK、MXNet、Torch 在三类流行深度神经网络上的表现(论文)》,TensorFlow的性能在有些时候表现并非最佳:

  • 仅用一块GPU,FCN上Caffe、CNTK和Torch比MXNet和TensorFlow表现更好;CNN上MXNet表现出色,尤其是在大型网络时;而Caffe和CNTK在小型CNN上同样表现不俗;对于带LSTM的RNN,CNTK速度最快,比其他工具好上5到10倍。
  • 通过将训练数据并行化,这些支持多GPU卡的深度学习工具,都有可观的吞吐量提升,同时收敛速度也提高了。多GPU卡环境下,CNTK平台在FCN和AlexNet上的可扩展性更好,而MXNet和Torch在CNN上相当出色。

这一结果,反而凸显出TensorFlow和谷歌强大的号召力,以及已经形成的生态圈的积极拉动影响

在2017年初的这份报告中,褚晓文教授指出,硬件和软件同样重要,仅仅有硬件是不够的,没有好的软件,硬件的效能发挥不出来,这也是为什么今天有这么多深度学习软件,它们的性能有如此大的差异。

“Torch是很流行的软件,2002年就有了,那时候还没有深度学习。后来把深度学习做进去了。2014年就是Caffe,微软2015年开源了CNTK,接下来谷歌也开源了他们相应的开发平台。第三行是它的粉丝数量,目前(2017年9月)TensorFlow的粉丝团是最庞大的,有6万多个关注,相对来讲,CNTK、Caffe加起来还没有TensorFlow有影响力。最底下是开发平台的维护情况,随着硬件的提升,新的算法的提出,每个软件都是要不断的更新换代的,TensorFlow的更新是非常频繁的,基本上每一两个月就会有一个新的更新,代表着他们对软件平台的投入。”

而Keras,则是谷歌在2017年宣布,将Keras作为TensorFlow的高级API。这意味着Keras被包含在TensorFlow版本中及时更新。除了TensorFlow,Keras也可以使用Theano或者CNTK作为后端。

其他框架和公司合纵连横——中国框架何时才能上榜?

大家可以点击上面的链接仔细看TensorFlow、Caffe、PyTorch、MXNet等框架在各种应用场景下的性能。我们性能更好,但为什么用的人还不是最多?为了解决这个问题,开放神经网络交换(ONNX)格式的发布于2017年9月横空出世。

ONNX最初由微软和Facebook联合发布,后来亚马逊也加入进来,并在12月发布了V1版本。ONNX是一个表示深度学习模型的开放格式。它使用户可以更轻松地在不同框架之间转移模型。例如,它允许用户构建一个PyTorch模型,然后使用MXNet运行该模型来进行推理。

开放神经网络交换(ONNX)的Github页面

ONNX由微软、亚马逊和Facebook等公司共同发起,宣布支持ONNX的公司还有AMD、ARM、华为、 IBM、英特尔、Qualcomm等。谷歌不在这个阵营中并不令人惊讶。ONNX从一开始就支持Caffe2,Microsoft Cognitive Toolkit,MXNet和PyTorch,但与其他开源项目一样,社区也已经为TensorFlow添加了一个转换器。

在你争我抢,合纵连横之下,深度学习框架的流行趋势似乎很难预测。不过,中国的开源框架,什么时候才能在这样的排名上显露自己的名字呢?

免责申明:本站所有内容均来自网络,我们对文中观点保持中立,对所包含内容的准确性,可靠性或者完整性不提供任何明示或暗示的保证,请仅作参考。若有侵权,请联系删除。

http://www.aibbt.com/a/18842.html

ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四的更多相关文章

  1. 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架

    20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...

  2. 推荐GitHub上10 个开源深度学习框架

    推荐GitHub上10 个开源深度学习框架   日前,Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚 ...

  3. 深度学习框架caffe/CNTK/Tensorflow/Theano/Torch的对比

    在单GPU下,所有这些工具集都调用cuDNN,因此只要外层的计算或者内存分配差异不大其性能表现都差不多. Caffe: 1)主流工业级深度学习工具,具有出色的卷积神经网络实现.在计算机视觉领域Caff ...

  4. 《TensorFlow实战Google深度学习框架》笔记——TensorFlow入门

    一.Tensorflow计算模型:计算图 计算图是Tensorflow中最基本的一个概念,Tensorflow中的所有计算都被被转化为计算图上的节点. Tensorflow是一个通过计算图的形式来描述 ...

  5. 《TensorFlow实战Google深度学习框架》笔记——TensorFlow环境搭建

    一.TensorFlow的主要依赖包 1.Protocol Buffer Protocol Buffer负责将结构化的数据序列化,并从序列化之后的数据流中还原出原来的结构化数据.TensorFlow中 ...

  6. 转:TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

    http://geek.csdn.net/news/detail/138968 Google近日发布了TensorFlow 1.0候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自Tens ...

  7. 开源深度学习架构Caffe

    Caffe 全称为 Convolutional Architecture for Fast Feature Embedding,是一个被广泛使用的开源深度学习框架(在 TensorFlow 出现之前一 ...

  8. 从TensorFlow 到 Caffe2:盘点深度学习框架

    机器之心报道 本文首先介绍GitHub中最受欢迎的开源深度学习框架排名,然后再对其进行系统地对比 下图总结了在GitHub中最受欢迎的开源深度学习框架排名,该排名是基于各大框架在GitHub里的收藏数 ...

  9. 从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?

    开源的深度学习神经网络正步入成熟,而现在有许多框架具备为个性化方案提供先进的机器学习和人工智能的能力.那么如何决定哪个开源框架最适合你呢?本文试图通过对比深度学习各大框架的优缺点,从而为各位读者提供一 ...

随机推荐

  1. 学习docker on windows (1): 为什么要使用docker

    为什么要用Docker? 如果我们想使用某种pc软件, 那么在互联网上查找并安装软件的流程大致如下图: 那么这就有几个问题要弄清楚: 从哪里获得软件 App Store Linux的包管理 从某些网站 ...

  2. 什么是 lnmp 实现原理。

    LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos ...

  3. 关闭sublime自动检测更新提示

    在使用sublime text 3的时候,有自动更新的话再打开的时候总是提醒更新,这让我这个强迫症重度患者非常难受,要取消自动检查更新,点击菜单栏"Preferences"=> ...

  4. Linux系统内存占用90%以上——解决方法

    Linux系统内存占用90%以上--解决方法   首先要明确一个问题:Linux系统内存占用90%以上,是否属于正常范围?网上有详细的解释,这属于正常现象~~~    www.2cto.com   L ...

  5. 华为云照片的爬虫程序更新(python3.6)

    一.背景: 每年终都有一个习惯,就是整理资料进行归档,结果发现手机照片全备份在华为云里,在官网上找了一圈,没找到官方的pc工具用来同步照片. 于是找出上次写的程序,看看能不能爬到数据,然而……果然不好 ...

  6. Python标准异常总结

    Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性  EOFError 用户输入文件末尾标志EOF(Ctrl+d ...

  7. Python自动化--语言基础5--面向对象、迭代器、range和切片的区分

    面向对象 一.面向对象代码示例: 1 class Test(): #类的定义 2 car = "buick" #类变量,定义在类里方法外,可被对象直接调用,具有全局效果 3 def ...

  8. 手把手教你用.NET Core写爬虫

    写在前面 自从上一个项目58HouseSearch从.NET迁移到.NET core之后,磕磕碰碰磨蹭了一个月才正式上线到新版本. 然后最近又开了个新坑,搞了个Dy2018Crawler用来爬dy20 ...

  9. React——共享state

    通常,一些组件需要反映相同的数据更改,这种情况推荐将共享state移动到它们最近的公共祖先上. 在这里有一个例子:有一个温度计算器计算在给定温度是否能让水沸腾,用户可以输入华氏温度也能输入摄氏温度,当 ...

  10. 《Java编程思想》读书笔记

    前言 这个月一直没更新,就是一直在读这本<Java编程思想>,这本书可以在Java业界被传神的一本书,无论谁谈起这本书都说好,不管这个人是否真的读过这本书,都说啊,这本书很好.然后再看这边 ...