深度学习框架势力榜
Posted 深度学习与增强现实
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习框架势力榜相关的知识,希望对你有一定的参考价值。
本文翻译自:https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a
深度学习仍然是数据科学中最热门的东西。深度学习框架正在迅速变化。就在五年前,除了Theano之外,其他的框架都还没诞生。
我想找到哪些框架值得关注的证据,所以我制作了这个势力排名。我使用了7个不同类别的11个数据源来衡量框架的使用,兴趣和受欢迎程度。 然后我对这个Kaggle内核中(https://www.kaggle.com/discdiver/deep-learning-framework-power-scores-2018)的数据进行加权和组合。
话不多说,下面就是深度学习框架权力榜:
虽然TensorFlow是明显的赢家,但有一些令人惊讶的发现。让我们深入了解!
候选框架
所有这些框架都是开源的,除了某个以外,其它都使用Python,其中一些可以使用R或其他语言。
TensorFlow是无可争议的重量级冠军。它拥有最多的GitHub活跃度,谷歌搜索,媒体文章,亚马逊书籍和ArXiv文章。 它也有 大多数开发人员使用它,并列在最多的在线的职位描述中。TensorFlow由Google提供支持。
Keras有一个“为人类而不是机器设计的API。”它是几乎所有评估领域中第二个最受欢迎的框架。Keras位于TensorFlow,Theano或CNTK之上。如果您不熟悉深度学习,请从Keras开始。
是第三个最受欢迎的整体框架,也是第二个最受欢迎的独立框架。它比TensorFlow更年轻,并且在人气方面迅速增长。它允许自定义而TensorFlow不能。它有Facebook的支持。
Caffe是第四个最受欢迎的框架。它已经存在了将近五年。这在职场中应用较多,经常在学术文章中也有提到,但几乎没有报道最近的用法。
Theano于2007年在蒙特利尔大学开发,是最古老的重要Python深度学习框架。它失去了很多人气,其领导人表示主要版本不再出现在路线图上。但是,继续进行更新。Theano仍然是第五高得分框架。
MXNET由Apache孵化并由亚马逊使用。它是第六个最受欢迎的深度学习库。
CNTK是Microsoft Cognitive Toolkit。它让我想起许多其他微软产品,因为它试图与谷歌和Facebook产品竞争,并没有赢得大量采用。
Deeplearning4J,也称为DL4J,与Java语言一起使用。它是中唯一没有使用Python的半流行框架。但是,您可以将使用Keras编写的模型导入DL4J。这是唯一一个两个不同搜索词偶尔会产生不同结果的框架。我为每个指标使用了更高的数字。由于框架得分很低,因此没有任何实质性差异。
Caffe2是另一个Facebook开源产品。它建立在Caffe之上,现在被安置在PyTorch GitHub仓库中。因为它不再拥有自己的仓库,所以我使用了旧存储库中的GitHub数据。
Chainer是由日本公司Preferred Networks开发的框架。它有小部分的追随者。
FastAI基于PyTorch构建。它的API受到了Keras的启发,需要更少的代码就能获得强大的结果。截至2018年9月中旬,FastAI正在流行起来。它正在进行重写,计划于2018年10月发布。FastAI背后的力量——杰里米·霍华德,是一个顶尖的Kaggler也是Kaggle的总裁。这里他讨论了为什么FastAI从Keras切换到制作他们自己的框架。
FastAI尚未对职业生涯有影响,也未被广泛使用。但是,它通过其流行的免费在线课程拥有庞大的内置用户管道。它既强大又易于使用。它的采用可能会显着增长。
标准
我选择了以下类别来提供全面的深度学习框架中的受欢迎程度和兴趣。评估类别是:
在线职位列表
KDnuggets使用情况调查
Google搜索量
媒体文章
亚马逊书籍
ArXiv文章
GitHub活跃度
搜索是在2018年9月16日到9月21日进行的。源数据在此Google表格中。我使用了plotly数据可视化库和Python的pandas库来探索流行度。对于交互式图表,请在此处查看我的Kaggle Kernel 。
当涉及到工作列表中提到的框架时,TensorFlow是明显的赢家。如果你想要一份深度学习的工作,请学习它。
我使用术语机器学习,然后是库名称进行搜索。因此,TensorFlow通过机器学习TensorFlow进行评估。我测试了几种搜索方法,这个方法给出了最相关的结果。
需要一个额外的关键字来区分框架和不相关的术语,因为Caffe可以有多种含义。
应用
KDnuggets是一个受欢迎的数据科学网站,它对全世界的数据科学家进行了调查。他们问过:您在过去12个月中为实际项目使用了哪些分析,大数据,数据科学,机器学习软件?
以下是此类框架的结果。
Keras显示出惊人的使用量 - 几乎与TensorFlow一样多。有趣的是,美国雇主绝大多数都在寻找TensorFlow技能 - 至少在国际上 - Keras的使用频率非常高。
该类别是唯一包含国际数据的类别,因为将其他类别的国际数据包括在内是很麻烦的。
KDnuggets报告了几年的数据。虽然我在此分析中仅使用了2018年的数据,但我应该注意到Caffe,Theano,MXNET和CNTK自2017年以来的使用量下降。
Google搜索活动
对最大的搜索引擎进行网络搜索是衡量人气的一个很好的指标。我查看过去一年Google趋势中的搜索记录。谷歌不提供绝对搜索号码,但确实提供了相对数据。
我在2018年9月21日更新了这篇文章,因此这些分数将包括截至2018年9月15日这一周的机器学习和人工智能类别的全球搜索。感谢FrançoisChollet建议改进此搜索指标。
Keras与TensorFlow相差不多。PyTorch位列第三,其他框架的相对搜索量分数等于或低于4。这些分数用于势力榜的计算。
让我们简要介绍一下搜索量随时间的变化情况,以提供更多的历史背景。下面谷歌的图表显示了过去两年的搜索结果。
在过去的一年里,对Tensor Flow的搜索并没有真正增长,但是Keras和PyTorch的增长已经有所增长。Google趋势只允许同时比较五个术语,因此其他库在不同的图表上进行了比较。除了与TensorFlow相关的最小搜索兴趣之外,其他所有库都没有显示任何内容。
出版物
我在势力榜中包含了几种发布类型。我们先来看看Medium文章。
媒体文章
Medium有很多流行的数据科学文章和教程。
最后一个新的赢家。在媒体文章中提及, Keras在TensorFlow之前打破了录像带。FastAI的表现优于其通常的表现。
我假设这些结果可能已经发生,因为Keras和FastAI是初学者友好的。他们对新的深度学习从业者有很大兴趣,而Medium通常是教程的论坛。
我在过去的12个月中使用了Google的Site.com搜索框架名称和“学习”作为关键字。这种方法对于防止术语“caffe”的错误结果是必要的。它有几个搜索选项的文章减少最少。
现在让我们看看哪些框架在亚马逊上有关于它们的书籍。
亚马逊书籍
我在Amazon.com的Books - > Computers&Technology下搜索了每个深度学习框架。
TensorFlow再次获胜。MXNET的书籍数量超出预期,Theano的书籍数量减少了。PyTorch的书籍相对较少,但这可能是因为该框架相对年轻。由于发布图书所需的时间,这一调查偏向于旧库。
ArXiv文章
ArXiv是大多数学术机器学习文章发布的在线存储库。在过去的12个月里,我使用Google网站搜索结果搜索了arXiv上的每个框架。
更多来自TensorFlow的学术文章。请注意,Keras在媒体和亚马逊上的受欢迎程度远远高于学术文章。Pytorch在这一类别中排名第二,显示出其实施新想法的灵活性。Caffe也表现得相当不错。
GitHub活跃度
GitHub上的活跃度是框架流行度的另一个指标。我在下面的图表中分别对stars, forks, watchers, and contributors进行评比,因为它们分开比组合更有意义。
TensorFlow显然是GitHub上最受欢迎的框架,拥有大量参与用户。考虑到FastAI甚至还不到一年,FastAI有一个不错的追随者。有趣的是,与其他三个指标相比,所有框架的贡献者级别更接近。
收集并分析数据后,是时候将其合并为一个指标。
势力榜评分程序
以下是我创建势力榜得分的方法:
把所有的项缩放0到1之间。
聚合职位搜索列表和GitHub活动子类别。
根据下面的权重加权类别。
如上所示, 在线职位列表和KDnuggets使用情况调查占总分的一半,而网络搜索,出版物和GitHub活跃度构成另一半。这种分割似乎是各种类别中最合适的平衡。
4.为了便于理解,将加权分数乘以100。
5.将每个框架的类别分数总计为单个势力分数。
这是漂亮的图表再次显示最终的势力榜分数。
100是可能的最高分,表示每个类别中的第一名。TensorFlow几乎达到了100,这在每个类别的顶部或附近看到它并不奇怪。Keras显然是第二名。
未来
目前,TensorFlow一直处于领先地位。它似乎可能在短期内继续占据主导地位。考虑到事物在深度学习世界中的发展速度惊人,这可能会发生变化。
时间会告诉PyTorch是否超过了TensorFlow,因为React超越了Angular。框架可能类似。 PyTorch和React都是由Facebook支持的灵活框架,通常被认为比谷歌支持的产品更容易使用。
FastAI会在课程之外获得用户吗?它拥有大量的学生,比Keras更加适合初学者的API。
对学习者的建议
如果您正在考虑学习其中一个框架并拥有Python,numpy,pandas,sklearn和matplotlib技能,我建议您从Keras开始。它拥有庞大的用户群,受雇主的青睐,有很多关于Medium的文章,并且有一个易于使用的API。
如果您已经了解Keras ,那么决定下一个要学习的框架可能会很棘手。 我建议您选择TensorFlow或PyTorch并学习它,这样您就可以制作出色的深度学习模型。
如果您想掌握需求,TensorFlow显然是学习的框架。但PyTorch的易用性和灵活性使其成为研究人员的热门之选。这是对两个框架的Quora讨论。
一旦你掌握了这些框架,我建议你留意FastAI。如果您想学习基础和高级深度学习技巧,请查看其免费在线课程。FastAI 1.0承诺允许您轻松实现最新的深度学习策略并快速迭代。
无论您选择哪种框架,我希望您现在能够更好地了解哪些深度学习框架最受欢迎,最常用,哪些都是最常用的。
以上是关于深度学习框架势力榜的主要内容,如果未能解决你的问题,请参考以下文章
ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四