本文来源:量化投资与机器学习 (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,watchers和contributors。
在每个类别中,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?》