哪个深度学习框架发展更快?TensorFlow还是PyTorch?

量化投资与机器学习
2019年最新调研数据!

本文来源:量化投资与机器学习 (ID:Lhtz_Jqxx),华尔街见闻专栏作者

编译:公众号翻译部

近期原创文章:

我们最近看到了TensorFlow和PyTorch框架的几个重要发展。

PyTorch v1.0于2018年10月发布,与此同时,fastai v1.0也发布了。这两个版本都标志着框架成熟度的重要里程碑。

TensorFlow 2.0 Alpha于2019年3月4日发布。它增加了新的功能和改进了用户体验。它还更紧密地集成了Keras及其高级API。

方法

在本文中,我们将Keras和fastai包括在比较中,因为它们与TensorFlow和PyTorch紧密集成。

在本文中,我们不会探讨其他的深度学习框架。比如:Caffe、Theano、MXNET、CNTK、DeepLearning4J或Chainer。虽然这些框架都有各自的优点,但它们似乎都没有处于增长轨道,不太可能接近TensorFlow或PyTorch。它们也不是与这两个框架紧密耦合的。

在线求职列表变化

为了确定在当今的就业市场上哪些深度学习库是有需求的,在Indeed、LinkedIn、Monster和SimplyHired上搜索了职位列表。

搜索了“机器学习”这个词,然后是库名。因此,使用machine learning TensorFlow对TensorFlow进行了评估。由于历史比较的原因,使用了这种方法。没有machine learning的搜索不会产生明显不同的结果。搜索区域是美国。

从2019年3月的数量中减去了6个月前的数量。以下是我们的发现:

TensorFlow的增长略高于PyTorch。Keras的增长大约是TensorFlow的一半。Fastai仍然没有出现在几乎所有的工作列表中。

请注意,PyTorch在除LinkedIn以外的所有求职网站上看到的新增职位列表数量都超过了TensorFlow。还请注意,按绝对值计算,TensorFlow出现在职位列表中的数量几乎是PyTorch或Keras的三倍

谷歌平均搜索变化

在最大的搜索引擎上进行网络搜索是衡量受欢迎程度的一个标准。我们查看了过去一年谷歌趋势的搜索历史。我们搜索了全世界对机器学习和人工智能领域的兴趣。谷歌没有提供绝对的搜索数字,但是它提供了相对的数字。

取过去6个月的平均兴趣得分,并将其与之前6个月的平均兴趣得分进行比较。

在过去的六个月中,TensorFlow的相对搜索量有所下降,而PyTorch的相对搜索量有所增长。

下图直接显示了过去一年的搜索兴趣。

Medium文章

Medium是数据科学文章和教程的流行位置。

在过去的六个月里,对其Medium网站搜索,发现TensorFlow和Keras发表的文章数量差不多。PyTorch的数量相对较少。

作为高级API,Keras和fastai在新的深度学习实践者中很受欢迎。Medium有很多教程介绍如何使用这些框架。

arXiv文章

arXiv是大多数学术深度学习文章发布的在线资源库。在过去的六个月中,使用谷歌站点搜索结果搜索了关于arXiv上每个框架的新文章。

TensorFlow有最多的新文章出现,远远超过其他网站。

GitHub

GitHub是另一个展示框架受欢迎程度的指标。我们在下面的图表中列出了stars,forks,watcherscontributors

在每个类别中,TensorFlow的GitHub活动最多。然而,就watchers和contributors的增长而言,PyTorch非常接近。此外,Fastai也看到了许多新的贡献者。

Keras的一些贡献者无疑正在TensorFlow库中对此进行研究。值得注意的是,TensorFlow和Keras都是由google人带头开发的开源产品。

Quora

我们还添加了Quora话题的关注者数量,一个以前没有的新类别。

TensorFlow在过去六个月里增加了最多的新话题关注者。PyTorch和Keras的添加量都要少得多。

一旦我有了所有的数据,我们就把它合并成一个度量标准。

成长评分解析

下面是我们如何创建成长评分:

1、在0和1之间缩放所有特征;

2、聚合了在线工作列表和GitHub子类别;

3、按以下百分比加权类别;

4、将可加性分数乘以100得出可理解性;

5、将每个框架的类别得分汇总为单个增长得分。

工作列表占总分的三分之一多一点。与我们在2018年得分分析不同,我们没有包括KDNuggets使用情况调查数据(没有新数据)或书籍数(六个月内出版的不多)。

分类和最终得分:

成长评分:

TensorFlow是目前需求最多、增长最快的框架。短期内不会有任何进展。PyTorch正在迅速增长。Keras在过去的六个月里也有了很大的增长。最后,fastai从一个较低的基线开始增长。值得记住的是,它是这么多框架中最年轻的。

TensorFlow和PyTorch都是很好的学习框架

学习建议

如果你想学习TensorFlow,建议你从Keras开始。推荐这两个学习教程:

1、https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438

2、https://www.datacamp.com/courses/deep-learning-in-python

Tensorflow 2.0通过tf.keras使用Keras作为其高级API。这是一个快速入门介绍TensorFlow 2.0的方式:

https://threader.app/thread/1105139360226140160

如果你想学习PyTorch,建议从fast.ai’s MOOC :

https://course.fast.ai/

在这里你将学习深度学习基础知识,fastai和PyTorch基础知识。

TensorFlow和PyTorch的前景如何?

我一直听说人们更喜欢使用PyTorch而不是TensorFlow。PyTorch更加Python化,并且具有更加一致的API。它还有本地ONNX模型导出,可以用来加速推理。此外,PyTorch与Numpy共享许多命令,这减少了学习它的障碍。

然而,正如谷歌的首席决策智能工程师Cassie Kozyrkov所说:

TensorFlow will now have a more straightforward API, a streamlined Keras integration, and an eager execution option.

这些变化以及TensorFlow的广泛采用,应该有助于该框架在未来几年保持流行。

TensorFlow最近宣布了另一个激动人心的计划:Swift for TensorFlow。Swift是一种最初由苹果开发的编程语言。在执行和开发速度方面,Swift比Python有很多优势。Fast.ai将在部分高级MOOC中使用Swift for TensorFlow。这门语言可能一两年内都不会在黄金时段出现,但它可能比目前的深度学习框架有所改进。

https://www.tensorflow.org/swift

影响深度学习框架的另一个进步是量子计算。一台可用的量子计算机可能还需要几年的时间,但谷歌、IBM、微软和其他公司正在考虑如何将量子计算与深度学习结合起来。需要调整框架以适应这种新技术。

原标题《最新 | 哪个深度学习框架发展更快?TensorFlow还是PyTorch?》

风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。