23 种深度学习库排行榜:TensorFlow、Keras、caffe 占据前三!

我们对23种用于数据科学的开源深度学习库作了排名。这番排名基于权重一样大小的三个指标:Github上的活动、Stack Overflow上的活动以及谷歌搜索结果。

排名结果

下面是23种用于数据科学的开源深度学习库的排名,按照Github上的活动、Stack Overflow上的活动以及谷歌搜索结果来衡量。该表显示了标准化分数,1这个值表示高于平均值(平均值=0)一个标准偏差。比如说,Caffe高于Github活动方面的平均值一个标准偏差,而deeplearning4j接近平均值。

方法详见如下

结果和讨论

排名基于权重一样大小的三个指标:Github(星标和分支)、Stack Overflow(标签和问题)以及谷歌结果(总体增长率和季度增长率)。这些是使用可用的API获得的。制作一个全面的深度学习工具包列表很棘手——最后,我们列出了我们认为有代表性的五个不同的列表(参阅下面介绍的方法,可了解详细信息)。计算每个度量指标的标准化分数后,我们就能看到哪些软件包在每个类别中脱颖而出。完整排名在这里(https://github.com/thedataincubator/data-science-blogs/blob/master/output/DL_libraries_final_Rankings.csv ),原始数据在这里(https://github.com/thedataincubator/data-science-blogs/blob/master/output/deep_learning_data.csv )。

TensorFlow凭最大的活跃社区一路领跑

在所有衡量指标中,TensorFlow比平均值高出至少两个标准偏差。相比第二大流行框架:Caffe,TensorFlow的Github分支数量几乎是其三倍,Stack Overflow问题更是其六倍以上。TensorFlow最初由谷歌Brain团队于2015年开源,发展势头已超过历史更悠久的库,比如Theano(第4位)和Torch(第8位),跃居我们榜单的首位。虽然TensorFlow附带在C++引擎上运行的Python API,但本榜单上的几种库可以使用TensorFlow作为后端,提供各自的接口。这些库包括Keras(第2位,很快将成为核心TensorFlow的一部分)和Sonnet(第6位)。TensorFlow之所以人气这么高,可能是由于它结合了通用深度学习框架、灵活的接口、外观整洁的计算图形可视化以及谷歌庞大的开发者和社区资源。

Caffe尚未被Caffe2所取代

Caffe在本榜单上排名第三,Github上的活动比其所有竞争对手(TensorFlow除外)都要多。Caffe历来被认为比Tensorflow更专门化,当初专注于图像处理、对象识别和预训练的卷积神经网络。Facebook于2017年4月发布了Caffe2(第11名),Caffe2已经跻身于深度学习库的上半部分。Caffe2是一种更轻量级、模块化、可扩展的Caffe,它包括循环神经网络。Caffe和Caffe2是独立的代码库,所以数据科学家可以继续使用原来的Caffe。然而,一些迁移工具(比如Caffe Translator)为使用Caffe2来驱动现有的Caffe模型提供了一种手段。

Keras是最流行的深度学习前端

Keras(第2位)是排名最高的非框架库。Keras可以用作TensorFlow(第1位)、Theano(第4位)、MXNet(第7位)、CNTK(第9位)或deeplearning4j(第14位)的前端。Keras在所有三个衡量指标方面的表现均胜过平均值。Keras之所以人气很旺,可能归功于其简单性和易用性。Keras允许用户快速建立原型,代价是直接使用框架所带来的灵活性和控制性方面欠缺一点。Keras颇受对数据集使用深度学习的数据科学家的青睐。由于R Studio最近发布了使用R的面向Keras的接口,Keras的发展和人气指数不断提升。

即便没有行业的大力支持,Theano依然名列前茅

在众多新的深度学习框架中,Theano(第4位)是本榜单上历史最悠久的库。Theano率先使用了计算图,在整个深度学习和机器学习研究界当中仍很受欢迎。Theano实际上就是面向Python的数值计算库,但可以与像Lasagne(第15位)这样的高级深度学习封装库一起使用。谷歌支持TensorFlow(第1位)和Keras(第2位),Facebook支持PyTorch(第5位)和Caffe2(第11位),而MXNet(第7位)是亚马逊网络服务(AWS)的官方深度学习框架,微软设计并维护CNTK(第9位),虽然没有得到哪家技术行业巨头的官方支持,但Theano依然颇受欢迎。

Sonnet是发展最快的库

2017年年初,谷歌的DeepMind公开发布了Sonnet(第6位)的代码,这是一种以TensorFlow为基础的面向对象的高级库。这个季度相比上个季度,Sonnet的谷歌搜索结果中返回的页面数量增加了272%,这是我们排名的所有库中增幅最大的。虽然谷歌在2014年收购了DeepMind这家英国人工智能公司,但DeepMind和谷歌Brain仍拥有基本上独立的团队。DeepMind专注于强人工智能,Sonnet可以帮助用户在特定的AI想法和研究的基础上构建神经网络。

Python是深度学习接口的首选语言

PyTorch(第5位)是其单一接口使用Python的一种框架,它是本榜单上发展速度第二快的库。与上季度相比,PyTorch的谷歌搜索结果多了236%。在我们排名的23种开源深度学习框架和封装库中,只有三种没有使用Python的接口:Dlib(第10位)、MatConvNet(第20位)和OpenNN(第23位)。C++接口和R接口分别用于23种库中的7种库和6种库。虽然数据科学界在使用Python方面几乎趋于一致,但是深度学习库方面还是有许多选择。

限制

与任何分析一样,我们一路上做出了决定。所有源代码和数据都在我们的Github页面上。深度学习库的完整列表来自几个来源。

当然,一些历史更悠久的库会有更高的指标,因而排名更高。唯一考虑到这一点的指标是谷歌搜索季度增长率。

数据带来了几个难题:

Neural Designer和Wolfram Mathematica是专有的,已被剔除

cntk又叫微软认知工具包,但是我们只使用了原来的ctnk名字

neon改成了nervana neon

paddle改成了paddlepaddle

一些库显然是其他库的衍生版,比如Caffe和Caffe2。如果这些库有独特的github代码库,我们决定将它们分开来对待。

方法

所有源代码和数据都放在我们的Github页面(https://github.com/thedataincubator/data-science-blogs )上。

我们先从五个不同的来源制作了23种开源深度学习库列表,然后为所有库收集了指标,以得出排名。Github数据基于星标和分支,Stack Overflow数据基于含有软件包名称的标签和问题,谷歌结果基于过去五年的谷歌搜索结果总数和过去三个月较之前三个月计算出来的季度结果增长率。

其他一些注意事项:

  • 几个库是常用词(caffe、chainer和lasagne),因此用来确定谷歌搜索结果数量的搜索词包括库名和“deep learning”这个术语。
  • 任何缺少的Stack Overflow计数一律转换为零计数。
  • 计数标准化,均值为0,偏差为1,然后求平均值,以获得Github和Stack Overflow分数,最后结合搜索结果得出总分。
  • 进行一番手动检查,确认Github的代码库位置。

文章来源:微信公众号 全球人工智能

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

1 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

Salesforce开源用于结构化数据的机器学习库TransmogrifAI

机器学习模型可以识别数百,数千甚至数百万数据点之间的关系,但很难进行建构。数据科学家花费数周和数月不仅预处理要训练模型的数据,而且从该数据中提取有用的特征(即数...

734
来自专栏量子位

讲道理,我觉得TensorFlow太逊了

原作:Nico Jimenez 安妮 编译自 Nico’s Blog 量子位 出品 | 公众号 QbitAI 本文作者Nico Jimenez。自2015年从斯...

33910
来自专栏智能算法

主宰这个世界的10大算法

出自linux中文社区 链接:https://linux.cn/article-3125-1.html 什么是算法? 简而言之,任何定义明确的计算步骤都可称为算...

3368
来自专栏媒矿工厂

【视频编码】 Content Aware ABR技术(三)

本系列的前面贴子中,我们梳理了Netflix和YouTube在ABR方面的一些进展,本文将简要介绍一下编码优化领域的一位新贵—Beamr的技术动态。 ? Bea...

2585
来自专栏专知

2018年Google TensorFlow开发者峰会亮点总结

本文由TensorFlow的产品经理Sandeep Gupta代表TensorFlow团队发布。 原文:https://medium.com/tensorflo...

36611
来自专栏AI研习社

你实践中学到的最重要的机器学习经验是什么?

在知乎看到「你实践中学到的最重要的机器学习经验是什么?」这个问题,相信经验对于许多刚准备入门机器学习的同学来说是必不可少的,因此AI研习社选取了3个精华回答给到...

2783
来自专栏BestSDK

主宰我们生活的10大算法,经久不衰

什么是算法? 简而言之,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。(来源:homas H. Cormen, Chales E...

2653

流行的深度学习库

哪些是值得学习的、好的专业库,而哪些又是应该避免的边缘项目,我们应该如何区分。

1707
来自专栏新智元

深度学习框架大战:谁将夺取“深度学习工业标准”荣耀?

随着深度学习研究热潮的持续发酵,各种开源深度学习框架层出不穷,其中包括:Caffe、CNTK、MXNet、Neon、TensorFlow、Theano 和 To...

3586
来自专栏CreateAMind

谷歌机器学习白皮书全解析 43条黄金法则

from http://3g.163.com/touch/article.html?docid=CBMPFGTL00098GJ5&qd=pc_adaptatio...

833

扫码关注云+社区