【导读】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. C++ cin.get及getline的用法

    1.cin.get() 从指定的输入流中提取一个字符,函数的返回值就是这个字符.文件结束符会返回EOF,一般以-1代表EOF. #include<iostream> using names ...

  2. 恢复linux系统文件夹颜色

    /etc/DIR_COLORS 默认值 # Background color codes:# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta ...

  3. Gitbucket—快速建立自己的Github

    GitBucket是一个用Scala语言编写的类似Github的应用,界面非常相似.它非常容易安装–容易到你只需要把它的war文件扔到tomcat中,然后启动tomcat就直接可以访问了.或者直接ja ...

  4. VirtualDOM与diff(Vue实现)

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...

  5. 并行执行 Job - 每天5分钟玩转 Docker 容器技术(134)

    有时,我们希望能同时运行多个 Pod,提高 Job 的执行效率.这个可以通过 parallelism 设置. 这里我们将并行的 Pod 数量设置为 2,实践一下: Job 一共启动了两个 Pod,而且 ...

  6. React设计思想

    熟悉一个新技术的关键是熟悉他的特色和理念 React框架本身和我们常用的JavaScript MVC框架,如:AngularJS,Backbone,Ember等,没有直接的可比性.在React的官方博 ...

  7. ajax请求中contentType与dataType区别

    contentType: 告诉服务器,我要发什么类型的数据,默认值: "application/x-www-form-urlencoded". dataType:告诉服务器,我要想 ...

  8. JAVAEE——BOS物流项目06:分页查询、分区导出Excel文件、定区添加、分页问题总结

    1 学习计划 1.分区组合条件分页查询 n 分区分页查询(没有过滤条件) n 分区分页查询(带有过滤条件) 2.分区导出 n 页面调整 n 使用POI将数据写到Excel文件 n 通过输出流进行文件下 ...

  9. [NOIP2001提高组]数的划分

    题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输 ...

  10. .NET平台开源项目速览(20)Newlife.Core中简单灵活的配置文件

    记得5年前开始拼命翻读X组件的源码,特别是XCode,但对Newlife.Core 的东西了解很少,最多只是会用用,而且用到的只是九牛一毛.里面好用的东西太多了. 最近一年时间,零零散散又学了很多,也 ...