TensorFlow和Pytorch都是深度学习中流行的框架,两种框架各有优势,其中PyTorch v1.0于2018年10月发布,同时发布fastai v1.0,这两个版本都标志着pytorch框架走向成熟;TensorFlow 2.0 alpha于2019年3月4日发布。该版本增加了新功能并改善了用户体验,更加紧密地集成了Keras作为其高级API。如何选择一个框架来学习就成了大家讨论的问题。所以今天我们来用数据分析一下目前哪个框架更受大家欢迎。
本次分析还包括Keras以及fastai两个框架,我们选择Indeed , Monster , LinkedIn和SimplyHired上的职位数量、Google搜索量 , GitHub活动量(Stars、Forks、Watchers、Contributors等) , Medium相关文章数, ArXiv文章和Quora主题关注者的变化 等多个指标来综合评估。
1
职位数量
为了确定在当今的就业市场中需要哪些深度学习库,我在Indeed,LinkedIn,Monster和SimplyHired上搜索了工作列表。
TensorFlow的列表增幅略大于PyTorch。 Keras也看到了房源增长 - 大约是TensorFlow的一半。 Fastai仍然没有显示任何工作列表。请注意,除了LinkedIn之外,PyTorch在除了TensorFlow之外的所有求职网站上都有更多的附加列表。 另请注意,从绝对意义上讲,TensorFlow的工作列表数量几乎是PyTorch或Keras的三倍。
2
Google搜索量
Google引擎上的网络搜索量是一个重要的指标。 我查看过去一年中Google的搜索记录趋势。 发现在过去的六个月中,TensorFlow的相对搜索量有所下降,而PyTorch的相对搜索量却在增长。
3
Medium文章量
Medium是数据科学领域文章和教程的热门博文网站。 在过去的六个月里,我收集TensorFlow与pytorch等相关文章数量,发现TensorFlow和Keras发布了相似数量的文章。 而PyTorch相对较少。
4
Arxiv文章量
arXiv是深度学习学术文章的在线存储库。 我搜索了过去六个月使用Google网站搜索结果提及arXiv上每个框架的新文章。其数据如下:
不难看出,TensorFlow处于领先地位,位于第二的依然是pytorch。keras
作为Tensorflow的高级api也占有一定的比例。
5
Github活动量
Github的活动量也是很能说明问题的,Github是程序员的交流圣地,其中的Stars、Forks、Watchers以及Contributors都可以作为我们的衡量数据。
通过柱状图可以看到,TensorFlow在每个类别都处于领先地位。但在Watchers和Contributors中,Pytorch几乎与TensorFlow持平,所以说pytorch是深度学习的新秀框架。
6
Quora主题关注者增长
我们统计了近期Quora新增关注者的人数,通过柱状图直观的展示出来,我们可以看到TensorFlow同样是碾压对手。
7
综合成绩
我们通过不同的比重对上述指标进行加权计算,其权重如下:
计算得到最终成绩如下,毫无疑问TensorFlow遥遥领先,pytorch紧跟其后,但pytorch作为深度学习新秀潜力无限,发展迅速。
总结建议
Pytorch和TensorFlow具体说选择哪一个框架确实很难,虽然目前数据分析TensorFlow更具有竞争力,但pytorch的发展速度较快,可能在未来某一天就会超越TensorFlow。所以如果想学TensorFlow可以从keras开始,这个框架简单入门,能快速实现你的神经网络;如果想学pytorch可以先从基础学习,一步一步打牢基础,慢慢摸索Pytorch框架。