热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

23个深度学习库的排名:TensorFlow稳居第一

(点击上方公众号,可快速关注)编译:技术最前线(TopITNews)【导读】:基于Github和StackOverflow上的活跃度以及G

(点击上方公众号,可快速关注)


编译:技术最前线(TopITNews)


【导读】:基于 Github 和 Stack Overflow 上的活跃度以及 Google 搜索结果,The Data Incubator 最近制作了一个 23 个热门深度学习库的排名。


下表显示了标准化后的分数,其中值 1 表示高于平均值的一个标准偏差(平均值为 0)。 例如,Caffe 在 Github 中的活动是一个高于平均水准的标准差,而 deeplearning4j 接近平均水平。见末尾的方法。


640?wx_fmt=png&wxfrom=5&wx_lazy=1


结果和讨论


该排名基于三个同等重要的部分:Github(star 和 fork),Stack Overflow(标签和问题)和 Google 搜索结果(总和以及季度增长率)。这 3 部分是通过可用的 API 获得的。想弄一个全面的深入学习工具包列表不容易,所以在最后选取了我们认为具有代表性的五个不同的列表(有关详细信息,请参阅下面的方法)。计算每种度量的标准化分数,使我们能够看到在每个类别中哪些包是脱颖而出的。


TensorFlow 在最大活跃社区中占主导


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 尚未被 Caffe2 所取代


Caffe 在我们的名单上排名第三,除了 TensorFlow 外,Caffe 其在 Github 上的活跃度比其他竞争对手都要多。Caffe 传统上被认为比 Tensorflow 更专业,并且专注于图像处理,目标识别和预先训练的卷积神经网络。Facebook 于 2017 年 4 月发布了 Caffe2(11),并且已经排在了深入学习库的上半部分。Caffe2 是一个更轻巧、模块化和可扩展的 Caffe 版本,包括循环神经网络。Caffe 和 Caffe2 是相互独立的仓库(repo),所以数据科学家可以继续使用最初的 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 最近发布了 Keras 的界面,Keras 的发展和受欢迎程度还在不断延续。


即使没有巨头支持,Theano 仍保持名列前茅


在新的深度学习框架的海洋中,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 在没受到行业巨头的正式支持下依然流行。


Sonnet 是增长最快的库


2017 年初,Google 的 DeepMind 公开发布了 Sonnet(6)的代码,这是一个以 TensorFlow 为基础的高级面向对象库。Sonnet 的 Google 搜索结果返回页数比上个季度增长了 272%,是我们列表中所有库中最大的。尽管 Google 在 2014 年收购了英国人工智能公司DeepMind,但 DeepMind 和 Google Brain 仍然在大体上是独立团队。DeepMind 专注于通用人工智能,Sonnet 可以帮助用户为他们的具体 AI 想法和研究做顶层设计。


Python 是深度学习的接口语言


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



看完本文有收获?请转发分享给更多人

关注「大数据与机器学习文摘」,成为Top 1%

640?wx_fmt=jpeg


推荐阅读
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
author-avatar
静乐思
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有