2018年最热门的深度学习框架?这份科学的排行榜可以告诉你
作者:媒体转发 时间:2018-09-25 16:23
深度学习仍然是机器学习领域最热门的技术。深度学习框架变化迅速,仅仅五年前 Theano 还一枝独秀,而最近出现了各种各样的框架,它们都有不同的特性。在本文中,为了评估 2018 到底哪些框架比较流行,作者从领英职位需求、谷歌搜索热度、Medium 文章数、arXiv 论文数和 GitHub 活跃度等方面审视不同的框架。
我想寻找值得关注的框架,于是就开发了这个排行榜。Python 语言是深度学习使用的热门语言,因此我主要关注能兼容 Python 的框架。我使用了来自 7 个不同类别的 11 个数据源,并用来评估框架使用、用户兴趣和流行度。
数据地址:
https://www.kaggle.com/discdiver/deep-learning-framework-power-scores-2018

2018.09 by Jeff Hale
显然,TensorFlow 是绝对赢家,还有一些令人惊讶的发现。我们一起来看一下~
角逐者
我们考虑的这些框架都已经开源,它们主要都使用 Python,一些可以兼容 R 或其他语言。

TensorFlow 是绝对冠军。在 GitHub 活跃度、谷歌搜索、Medium 文章数、亚马逊书籍和 arXiv 论文这些数据源上,它所占的比重都是最大的。它还拥有最多的开发者用户,以及出现在最多的在线职位描述中。

Keras 具备「一个为人类而非机器设计的 API」。它在几乎所有评估中都是第二流行的框架。Keras 的后端可以基于 TensorFlow、Theano 或 NLTK。如果你是刚入门深度学习的新手,使用 Keras 是不错的选择。

PyTorch 是第三流行的框架,也是第二流行的独立框架。它比 TensorFlow 出现时间晚,但发展迅速。PyTorch 允许定制化,而 TensorFlow 不能。PyTorch 是由 Facebook 支持开发的。

Theano 由蒙特利尔大学于 2007 年开发,是最老的 Python 深度学习框架。现在它的流行度下降了很多,其开发者和维护者宣布将停止更新维护 Theano。不过,Theano 仍然频繁出现在职位描述中。

MXNet 由 Apache 孵化。它和 Theano 的得分很接近,目前处于第四流行的深度学习库。它拥有大量贡献者、搜索结果、相关书籍和学术文章。但是它的使用率比去年有所下降,搜索它的用户也不是很多。

CNTK 是微软推出的认知工具包。它的推出旨在与谷歌、Facebook 竞争,但并没有获得特别多的使用。
FastAI 基于 PyTorch 构建。其 api 受到 Keras 的启发,所需代码甚至还更少。FastAI 正为今年 10 月的 1.0 版本发布而经历重写,FastAI 背后的男人 Jeremy Howard 曾经是 Kaggle 比赛冠军以及 Kaggle 主席。
你可能会问为什么 FastAI 会在这个名单上,职业开发者对它没什么需求,它的使用也不广泛。但是,它通过免费在线课程平台 fast.ai 获得了大批用户。同时,FastAI 也很强大易用,它的使用率可能会很快增长。
Caffe 不在本名单中,因为它之前更新到 Caffe2,2018 年 3 月 Caffe2 被融合进 PyTorch。
评估准则
为了全面地评估深度学习框架的流行程度,我选择以下类别和角度为它们进行评分:
在线职位描述
KDnuggets 使用调查
谷歌搜索热度
Medium 文章数量
Amazon 书籍数量
arXiv 论文数
GitHub 活跃度
支持本次评分的数据都在今年 9 月 16 号收集完,原数据地址为:
https://docs.google.com/spreadsheets/d/1mYfHMZfuXGpZ0ggBVDot3SJMU-VsCsEGceEL8xd1QBo/edit?usp=sharing
我使用了 plotly 数据可视化库和 Python 的 Pandas 库来探索并展示各框架的流行度,对于交互性的 plotly 图表,请看 Kaggle Kernel:
https://www.kaggle.com/discdiver/deep-learning-framework-power-scores-2018
在线职位描述
深度学习框架在目前的职场中有着什么样的需求?我搜索了领英的职位描述,具体而言为 Simply Hired、Monste 和 Angel List。

TensorFlow 在职位描述中明显要比其它框架出现得更多,所以如果你希望从事深度学习,最好还是学习这个框架。



