开源最前线(ID:OpenSourceTop) 猿妹 编译
来源:https://github.com/thedataincubator/data-science-blogs/blob/master/deep-learning-libraries.md
The Data Incubator 最近制作了一个 23 个热门深度学习库的排名。此排名基于三个指标:Github上的活跃度、Stack Overflow上的活跃度以及谷歌搜索结果数量。下面一起来看看排名情况
总体排名结果
上表排名给出了每个开源库的总分值,以及各自在 GitHub、Stack Overflow 以及谷歌搜索上的得分(其中 0 为平均值)。
结果与讨论
排名是基于同样基于三个组成部分:Github(星星数和分支),Stack Overflow(标签和问题)和 Google Results(总体增长率和季度增长率)。这些是使用可用的 API 获得的。
制作一个深入学习工具包的综合排名列表是有很大难度的 - 我们罗列出了最具代表性的五个列表,计算每个指标的标准化分数,得出最终排名。比如,Caffe 在 Github 上的标准评分为 1,deeplearning4j 则为 0.06。
TensorFlow 在最大活跃社区中占主导
TensorFlow 所有指标的得分至少比平均值高出两倍多。在 Github 上的分支数几乎是第二名的三倍,Stack Overflow 上的问题总数是第二名的六倍多。Google Brain 团队于 2015 年首次开源 TensorFlow,之后一路攀升,超越排名第四的 Theano 和排名第八的 Torch,成为排行榜榜首。
TensorFlow 虽然与在 C++ 引擎上运行的 Python API 一起分发,但列表中的一些库可以 TensorFlow 作为后端使用,并提供自己的接口。比如排行第二的Keras,将很快成为TensorFlow和Sonnet核心的一部分。TensorFlow 的流行可能是由于其通用深度学习框架,灵活的界面,漂亮的计算图形可视化以及Google大量的开发人员与社区资源的结合。了解更多 TensorFlow 点击:《【开源推荐 5】快速入门 Google 机器学习系统 TensorFlow》
Caffe 尚未被 Caffe2 所取代
Caffe 排行第三,除 TensorFlow,Caffe 在 GitHub 上的活跃度要比其他竞争对手高很多。Caffe 通常被认为比 Tensorflow 更加专业化,其开发了专注于图像处理,目标识别和预训练卷积神经网络。Facebook 于 2017 年 4 月发布 Caffe 2,如今已经排在了深度学习库的上半部分。Caffe2 是一个更轻量,模块化和可扩展的 Caffe 版本,包括循环神经网络。Caffe 和 Caffe2 是相互独立的,所以数据科学家可以继续使用最初的 Caffe。但是,有一些迁移工具,如 Caffe Translator,提供了一种 Caffe2 用来驱动现有的 Caffe 模型。
Keras 最受欢迎的深度学习前端
Keras 排名最高的非框架深度学习库。Keras 可以被用作 TensorFlow、Theano、MXNet、CNTK 或 deeplearning4j 的前端。Keras 在所有的三个指标上表现都高于于平均值。
Keras 由于其简单性和易用性而备受欢迎。Keras 数据科学家们对数据集上进行相关实验时,往往都喜欢采用 Keras。随着 R Studio 最近发布了 Keras 的界面,Keras 的流行度往后还会不断提高。
Theano 没有行业巨头支持,仍实力强大
在众多新的深度学习框架当中,Theano 是列表中出现最早的深度学习库。Theano 率先使用了计算图,如今在深度学习和机器学习的研究界仍然很受欢迎。Theano 本质上是一个 Python 的数值计算库,但是可以像 Lasagne 这样的高阶深度学习库一起使用。
TensorFlow 和 Keras 背后有谷歌强有力的支持,PyTorch 和 Caffe2 背后有 Facebook,MXNet 是亚马逊网络服务(AWS)的官方深度学习框架,以及微软设计维护的 CNTK ,Theano 背后没有行业巨头支持,但是仍然十分受欢迎。
Sonnet 发展最快的深度学习库
早在 2017 年年初,Google 的 DeepMind 就公开发布了 Sonnet 的代码,这是一个基于 TensorFlow 的神经网络库。在 Google 搜索 Sonnet,返回的结果页面数比上一季度增加了 272%,这是我们列表中所有库中增长最多的一个。虽然 Google 在 2014 年收购了英国人造智能公司 DeepMind,但 DeepMind 和 Google Brain 大体上仍然是两个独立的团队。DeepMind 专注于人工智能,Sonnet 帮助用户在他们特定的 AI 理念和研究之上构建顶层架构
Python 是深度学习接口的主要语言
PyTorch 是列表中增长速度第二快的库,底部唯一的接口是Python。与上一季度相比,Google 搜索 PyTorch,结果页面多了 236%。排名前 23 的开源深度学习框架和包装器中,只有三个没有 Python 接口,分别是:Dlib ,MatConvNet 和OpenNN。C ++ 和 R 接口分别有 7 个和 6 个。尽管看起来数据科学界在使用 Python 方面已经达成共识,但深度学习仍有许多选择。
局限性
所有的源代码和数据都在我们的 Github 页面上。深度学习库的完整列表来自不同来源。当然,一些发布历史比较久的库会有更高的指标,因此排名更前面。这里使用的唯一指标是谷歌搜索季度增长率。
数据中一些难题的处理方式:
● neural designer 并且 wolfram mathematica 是特有的,因此就剔除了
● CNTK 也被称为 microsoft cognitive toolkit,但我们只用了原始的 CNTK 名字
● neon 改为 nervana neon
● paddle 改为 paddlepaddle
● 一些库显然是其他库的衍生物,如 Caffe 和 Caffe2。对于此类情况,如果他们有独立的 github 代码库,我们就会把它们分开计算排名
方法
所有源代码和数据都在我们的Github页面上(https://github.com/thedataincubator/data-science-blogs)。
我们首先从五个不同的来源,产生 23 个开源深度学习库,然后收集所有这些库的标准,从而得出排名。Github 数据基于星星数和分支数,Stack Overflow 数据基于包含软件包名称的标签及问题数量,Google Results 基于过去五年中 Google 搜索结果的总数,以及季度增长率的比较。
其他一些说明:
● 用于确定谷歌搜索的搜索词包括库名和术语“deep learning”。
● 任何缺少 Stack Overflow 计数的数值一律转换为 0
● 计数标准化,均值为 0 和偏差 1,然后平均得到 Github 和 Stack Overflow 得分,再加上 Serch Results 得到的总得分。
● 最后手动检查以确认 Github 代码库的位置。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:23个深度学习库大排名:TensorFlow最活跃、Keras最受欢迎,Theano 屌丝逆袭 - Python技术站