(点击上方公众号,可快速关注)
编译:技术最前线(TopITNews)
【导读】:基于 Github 和 Stack Overflow 上的活跃度以及 Google 搜索结果,The Data Incubator 最近制作了一个 23 个热门深度学习库的排名。
下表显示了标准化后的分数,其中值 1 表示高于平均值的一个标准偏差(平均值为 0)。 例如,Caffe 在 Github 中的活动是一个高于平均水准的标准差,而 deeplearning4j 接近平均水平。见末尾的方法。
该排名基于三个同等重要的部分:Github(star 和 fork),Stack Overflow(标签和问题)和 Google 搜索结果(总和以及季度增长率)。这 3 部分是通过可用的 API 获得的。想弄一个全面的深入学习工具包列表不容易,所以在最后选取了我们认为具有代表性的五个不同的列表(有关详细信息,请参阅下面的方法)。计算每种度量的标准化分数,使我们能够看到在每个类别中哪些包是脱颖而出的。
TensorFlow 在所有计算度量上的平均值上至少有两个标准偏差。TensorFlow 和第二大流行框架 Caffe 相比,在 Github 上的 fork 数几乎是后者的三倍,在 Stack Overflow 上的问题总量是后者的六倍以上。TensorFlow 由 Google Brain 团队于 2015 年首度开放,已经超过了众多的高级库,如 Theano(4)和 Torch(8),成为我们榜单的首位。TensorFlow 虽然与在 C++ 引擎上运行的 Python API 一起分发,但表中的几个库可以将 TensorFlow 用作后端,并提供它们自己的接口。这些库包括了 Keras(2),将很快成为 TensorFlow 和 Sonnet 的核心部分(6)。TensorFlow 的流行可能是其通用的深度学习框架,灵活的界面,好看的计算图形可视化和 Google 的重要开发人员和社区资源的合力下的结果。
Caffe 在我们的名单上排名第三,除了 TensorFlow 外,Caffe 其在 Github 上的活跃度比其他竞争对手都要多。Caffe 传统上被认为比 Tensorflow 更专业,并且专注于图像处理,目标识别和预先训练的卷积神经网络。Facebook 于 2017 年 4 月发布了 Caffe2(11),并且已经排在了深入学习库的上半部分。Caffe2 是一个更轻巧、模块化和可扩展的 Caffe 版本,包括循环神经网络。Caffe 和 Caffe2 是相互独立的仓库(repo),所以数据科学家可以继续使用最初的 Caffe。然而,有一些迁移工具,比如如 Caffe Translator,它提供了一种使用 Caffe2 来驱动现有 Caffe 模型的方法。
Keras(2)是排名最高的非框架库。Keras 可以用作 TensorFlow(1)、Theano(4)、MXNet(7)、CNTK(9)、deeplearning4j(14)的前端。在所有的三个衡量标准上, Keras 的表现均优于平均水平。Keras 的流行可能是由于其简单性和易用性。Keras 允许快速的原型化,但代价是牺牲了从框架直接运行而产生的一些灵活性和控制。数据科学家在数据集上做深度学习的相关实验时,Keras 受到了他们的青睐。随着 R Studio 最近发布了 Keras 的界面,Keras 的发展和受欢迎程度还在不断延续。
在新的深度学习框架的海洋中,Theano(4)是我们的排名中最古老的库。Theano 开创性地使用了计算图(computational graph),并在研究界普遍做深度学习和机器学习之时仍保持流行。Theano 本质上是一个 Python 的数值计算库,但可以与像 Lasagne 这样的高级深度学习库(15)一起使用。虽然 Google 支持 TensorFlow(1)和 Keras(2),Facebook 支持 PyTorch(5)和 Caffe2(11),MXNet(7)是 Amazon Web Services 的官方深度学习框架,Microsoft 设计并维护了 CNTK(9),Theano 在没受到行业巨头的正式支持下依然流行。
2017 年初,Google 的 DeepMind 公开发布了 Sonnet(6)的代码,这是一个以 TensorFlow 为基础的高级面向对象库。Sonnet 的 Google 搜索结果返回页数比上个季度增长了 272%,是我们列表中所有库中最大的。尽管 Google 在 2014 年收购了英国人工智能公司DeepMind,但 DeepMind 和 Google Brain 仍然在大体上是独立团队。DeepMind 专注于通用人工智能,Sonnet 可以帮助用户为他们的具体 AI 想法和研究做顶层设计。
PyTorch(5)是我们表中增长速度第二的库,该框架的唯一接口是 Python。与上季度相比,PyTorch 的 Google 搜索结果增加了 236%。在我们排的 23 个开源深度学习框架和包装器中,只有三个没有 Python 接口:Dlib(10)、MatConvNet(20)和OpenNN(23)。在 23 个库中,C ++ 和 R 接口分别只有 7 个和 6 个。虽然数据科学界在使用 Python 方面有些接近同一个共识,但对深度学习库而言,还有很多的选择。
当然,有些库由于已经存在了更长的时间会有更高的数据,因此排名更高。唯一考虑到这一点的指标,是 Google 搜索季度增长率。
数据呈现中遇到的一些困难:
·神经设计和 wolfram 数学是专有的,故被删除
·cntk 也被称为「微软认知工具包」,但是我们只使用了 ctnk 名称
·neon 变成了 nervana neon
·paddle 被改为 paddlepaddle
·一些库显然是其他库的衍生品,如 Caffe 和 Caffe2。如果它们有单独/独立的 Github 仓库,我们分开处理这些库。
所有源代码和数据都在我们的 Github 页面上。我们首先从五个不同的来源中生成了 23 个开源深度学习库的列表,然后收集了所有这些库的指标,以获得排名。
Github 的数据基于 star 数和 fork 数、Stack Overflow 的数据包含包名称的标签和问题,Google 搜索结果则基于过去五年的 Google 搜索结果总数,并计算结果在过去三个月与前三个月相比的季度增长率。
一些注意事项:
·有几个库是常用词汇(caffe、chainer、lasagne),因此用于确定 Google 搜索结果数量的搜索词,包括库的名称和术语即“deep learning”。
·任何不可用的 Stack Overflow 计数都转换为零计数。
·计数被标准化为均值 0 和偏差 1,然后平均得到 Github 和 Stack Overflow 分数,并结合 Serch 结果,从而得到总分。
·做了一些手动检查以确认 Github 仓库位置。
所有数据均于 2017 年 9 月 14 日下载。
完整排名在这里: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
觉得这条资讯有帮助?请转发给更多人
关注 技术最前线 ,看 IT 要闻