【新智元导读】鸡年伊始,万象更新。 随着深度学习的火热,GitHub上涌现了大量的开源项目,除了大家熟知的 TensorFlow 以外,还有哪些项目是最受欢迎的?获得的星星数量多少?这些项目分别有哪些特点?今天介绍GitHub 上的一个开源项目——深度学习热门开源项目列表。一起看看还有哪些你未曾了解到的,但又有着重大影响力的开源项目。
GitHub 上与深度学习相关的项目热度排名(根据获得星星排列):
项目名称 | 星星数 | 描述 | |
---|---|---|---|
1 | tensorflow | 44201 | 用于可扩展机器学习的、使用数据流动图的计算 |
2 | caffe | 15615 | caffe:一个面向深度学习的快速开发框架 |
3 | neural-style | 12496 | 神经风格算法的Torch部署 |
4 | keras | 11632 | 面向Python、Convnets、recurrent neural network 等的深度学习库。在Theano 或者TensorFlow上运行。 |
5 | deepdream | 9764 | |
6 | RocAlphaGo | 7807 | 一个独立的、由学生主导的对DeepMind2016年发表在《Nature》上的论文“Mastering the game of Go with deep neural networks and tree search” 的复现,具体细节可以在官网https://deepmind.com/publications.html查阅。 |
7 | char-rnn | 4793 | Torch中面向字符级别语言模型的多层循环神经网络(LSTM, GRU,RNN) |
8 | gym | 4747 | 一个用于开发和比较增强学习算法的工具包 |
9 | tflearn | 4677 | 一个以高水平的TensorFlow API 为特征的深度学习库 |
10 | playground | 4154 | 玩神经网络 |
11 | neuraltalk | 3977 | NeuralTalk 是一个Python+numpy 项目,用于学习多节点的循环神经网络,用来用句子描述图像 |
12 | Machine-Learning-Tutorials | 3583 | 包含机器学习和深度学习教程、文章和其他资源 |
13 | TopDeepLearning | 3563 | 一个关于深度学习项目受欢迎程度的列表 |
14 | Tensorflow-Tutorials | 3119 | 使用谷歌TensorFlow 框架的简单课程 |
15 | tensorflow_tutorials | 3021 | Tensorflow 中,简单而有趣的应用 |
16 | word-rnn-tensorflow | 284 | 在Python 中使用 Tensorflow的多层循环网络(LSTM,RNN)面向词级别的语言模型。 |
17 | tensorflow-aws-ami | 47 | 一个开放、免费、有效的TensorFlow Amazon Web Service (AMI)。能在5分钟内运行TensorFlow。TensorFlow, Keras, OpenAI Gym都可以支持。 |
18 | DeepLearningStar | 26 | 用于观察深度学习项目 |
开源地址:https://github.com/hunkim/DeepLearningStars
从上表可以看出,tensorflow 得到的星星数量达到了44201颗,遥遥领先,其他的深度学习开源项目中,也有许多是基于tensorflow的。比如,一个以高水平的以TensorFlow API 为特征的深度学习库——tflearn,也得到了4677星。
TensorFlow 一年之内得到如此耀眼的成绩,那么置于整个开源大势下,TensorFlow 或者说谷歌又处在什么位置?GitHub 的年度开源报告《Octoverse 观察报告》开源给我们答案。
此前,GitHub 曾于10月31日发布了 2016 年度的《Octoverse 观察报告》,对开源和社区做了统计,得到一些有趣的结果:印象中的“开源大户”谷歌并不是开源项目最多的公司(答案请见内文),但发布不到两年的 TensorFlow 已登上最受欢迎 repos 榜单。AI 巨头中,贡献者最多的项目属于 Facebook,微软紧随其后,但贡献者还是出自微软的人数最多;全球 GitHub 新增用户中,中国表现突出,增长率高达 97%。
TensorFlow 是最受欢迎的开源项目
从让阿波罗 11 号登月的代码到帮助非盈利组织的开源课程,过去一年中,GitHub 上涌现了一大批开源项目。以下是最受欢迎(得到星标最多)的项目:
由上图可见,TensorFlow 是唯一上榜的深度学习库,可见其近 12 个月来的传播程度,也从另一个侧面表明,谷歌的宣传能力或者说号召能力成效显著。当然,深度学习也确实随着开源逐渐流行,谷歌和 TensorFlow 的贡献很多。
最受欢迎的编程语言
GitHub 开源项目一共使用了 316 种不同的编程语言,其中根据过去一年提交的 Pull Request(用于向项目提交补丁,反映项目热度及受欢迎程度)使用最多的前 15 种编程语言如下。
其中,最受欢迎的编程语言是 JavaScript,超出第二名 Java 一倍多。作为深度学习最常用语言的 Python 位居第三。
新智元此前曾经报道过谷歌工程师最爱用的 10 种编程语言:
对照来看,谷歌工程师最爱用的也是 JavaScript,自家的产品 Go 当然也排名靠前。
GitHub 贡献者最活跃的项目
贡献行为包括对项目推送了代码、对打开或评论了问题,或者提交 Pull Request。活跃则表示有过代码提交、写备注、被星标和问题汇报 issue 等行为。
据统计,过去一年来,GitHub 有 580 万以上的活跃用户、33 万以上的活跃组织、1.9 亿以上的活跃项目,以及 1000 万以上的活跃问题汇报。
其中,按照项目贡献者活跃度排名:
贡献者人数最多的机构
贡献者人数最多的机构,微软位居第一。
当然,贡献者人数与公司员工数量有一定关系,微软全球员工加起来超过 Facebook 员工总数的 10 倍还要多,因此,GitHub 这个排名实际上凸显了 Facebook 人的活跃。
相比之下,谷歌的排名就有些不太好说了……难道都去做自家公司的项目了?
Fork 最多的项目
Fork 越多,代表对这个项目感兴趣、有可能会参与开发的人越多。
在这里,TensorFlow 再次展现实力——虽然排名第五,要知道,排名第一的 datasharing 是一篇文章,排名第二的 Spoon-Knife 和第三的 ProgrammingAssignment2 都是教程。
可以说,TensorFlow 名副其实是 GitHub 深度学习开源第一库。这么看来,微软的 CNTK 或需加强宣传力度。
Github 新增用户中国排名第一
GitHub 上已经有超过 520 万的用户和超 30 万的机构。过去一年来,有超过 81 万人首次提交 Pull Request,有 280 万人创造了自己的第一个项目。
其中,中国是新用户注册增长最多的国家,同比增长 97%,由此可见 GitHub 在中国的接受度大幅提高。
全球进入协同编程时代
由上图可以见,绝大部分 PR 都是由机构发起的,说明全球正进入大规模协同编程时代。这与从 2015 年底开始的深度学习开源运动潮流相符。
审校:刘小芹