ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四

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

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

56685f8f20c6b66913323b9520b2000d75c2c6f8

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排名第一和第二。

b3f4e572c1b253b4e516bea80aef7b353db48d3e

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

a1473244f7b0d87e6ab8f3cb15c20ba26b3af553

“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运行该模型来进行推理。

8a7b898ffcf15a51d4de2a699dbabf2397154a91

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

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


原文发布时间为:2018-03-9

本文作者:文强

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四

相关文章
|
14天前
|
机器学习/深度学习 API 语音技术
|
3月前
|
机器学习/深度学习 Dart TensorFlow
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(5)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(5)
70 0
|
7天前
|
机器学习/深度学习 运维 监控
TensorFlow分布式训练:加速深度学习模型训练
【4月更文挑战第17天】TensorFlow分布式训练加速深度学习模型训练,通过数据并行和模型并行利用多机器资源,减少训练时间。优化策略包括配置计算资源、优化数据划分和减少通信开销。实际应用需关注调试监控、系统稳定性和容错性,以应对分布式训练挑战。
|
14天前
|
机器学习/深度学习 PyTorch API
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
Python中的深度学习:TensorFlow与PyTorch的选择与使用
Python中的深度学习:TensorFlow与PyTorch的选择与使用
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
基于tensorflow深度学习的猫狗分类识别
基于tensorflow深度学习的猫狗分类识别
63 1
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
【TensorFlow】深度学习框架概述&TensorFlow环境配置
【1月更文挑战第26天】【TensorFlow】深度学习框架概述&TensorFlow环境配置
|
3月前
|
机器学习/深度学习 存储 编解码
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(4)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(4)
120 0
|
3月前
|
机器学习/深度学习 人工智能 API
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5
69 0
|
3月前
|
机器学习/深度学习 存储 人工智能
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(3)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(3)
81 0