PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架?

栏目: Python · 发布时间: 5年前

内容简介:深度学习框架的流行趋势正在快速变化,其中最受瞩目的莫过于 TensorFlow 和 PyTorch。前段时间,TensorFlow 发布了 2.0(Alpha)版本,不仅推出了许多新功能,也通过引入 Keras 高级 API 和 EagerExecution 模式让入门门槛进一步降低。但是这些改变并没有减慢 PyTorch 追赶的步伐。在今天这篇文章中,本文作者通过 GitHub、Medium 文章、arXiv 论文和 LinkedIn 等多个维度评估了这两款深度学习框架的最新发展趋势。2018 年 9 月

深度学习框架的流行趋势正在快速变化,其中最受瞩目的莫过于 TensorFlow 和 PyTorch。前段时间,TensorFlow 发布了 2.0(Alpha)版本,不仅推出了许多新功能,也通过引入 Keras 高级 API 和 EagerExecution 模式让入门门槛进一步降低。但是这些改变并没有减慢 PyTorch 追赶的步伐。在今天这篇文章中,本文作者通过 GitHub、Medium 文章、arXiv 论文和 LinkedIn 等多个维度评估了这两款深度学习框架的最新发展趋势。

2018 年 9 月,我在 这篇文章 中从市场需求、使用和受欢迎程度三方面比较了所有主要的深度学习框架。 其中,TensorFlow 是深度学习框架中无可争议的重量级冠军,PyTorch 则是引发了热烈讨论的年轻新秀。

在过去六个月中,这些领先的深度学习框架又有什么变化呢?

为了回答这个问题,我查看了 IndeedMonsterLinkedInSimplyHired 上的职位列表数量。 我还评估了 Google 搜索量GitHub 活动Medium 文章、 ArXiv 文章和 Quora 主题关注者 的变化。 总的来说,这些资料来源描绘了市场需求、使用和兴趣增长的全面情况。

集成和更新

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

PyTorch v1.0 于 2018 年 10 月发布,同时 FastAI v1.0 发布。 这两个版本的发布都是重要的里程碑,标志着深度学习框架趋于成熟。

TensorFlow 2.0 alpha 于 2019 年 3 月 4 日发布,它增加了新的功能并改善了用户体验,并且更加紧密地集成了 Keras 作为其高级 API。

方法论

在本文中,我将 Keras 和 FastAI 包含在比较中,因为它们与 TensorFlow 和 PyTorch 紧密集成,并且还提供了评估 TensorFlow 和 PyTorch 的尺度。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架?

我不会在本文中探索其他深度学习框架。 我希望我能够收到 Caffe、Theano、MXNET、CNTK、DeepLearning4J 或 Chainer 等值得讨论的反馈。 虽然这些框架各有其优点,但似乎没有一个框架显示出其可以媲美 TensorFlow 或 PyTorch,并且它们也没有与这两个框架紧密结合。

搜索在 2019 年 3 月 20 日至 21 日进行。源数据在此 Google 表格 中。

我使用了 plotly 数据可视化库来探索流行度,对于交互式 plotly 图表,请在 此处 查看我的 Kaggle Kernel。

让我们看看每个类别的结果。

在线职位列表的变化

为了确定在当今的就业市场中需要哪些深度学习库,我在 Indeed、LinkedIn、Monster 和 SimplyHired 上搜索了工作列表。

我同时搜索了关键词”机器学习“和深度学习框架名,比如,TensorFlow 通过”机器学习 TensorFlow“搜索关键词进行评估。 用此方法是出于与历史比较的原因。 不加关键词”机器学习“的搜索没有产生明显不同的结果。 搜索区域是美国。

我从 2019 年 3 月的职位列表数量中减去了六个月前的职位列表数量,下面就是我发现的内容:

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? TensorFlow 的职位列表增幅略大于 PyTorch, Keras 也显示出了职位列表数的增长 —— 大约是 TensorFlow 的一半,FastAI 仍然没有出现在任何工作列表中。

请注意,除了 LinkedIn 之外,PyTorch 在其他所有求职网站上都有更多的额外岗位列表。 另外,从绝对数量上讲,TensorFlow 的工作列表数量几乎是 PyTorch 或 Keras 的三倍。

Google 搜索活动的平均变化

在大型搜索引擎上进行网络搜索的行为是衡量人气的指标。 我查看了过去一年 Google 趋势中的搜索记录。 我在世界范围内搜索了对机器学习和人工智能类别的兴趣。 Google 不提供绝对搜索数字,但确实提供了相对数据。

我统计了过去六个月的平均兴趣分数,并将其与更早的六个月的平均兴趣分数进行了比较。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? 在过去的六个月中,TensorFlow 的相对搜索量有所下降,而 PyTorch 的相对搜索量却在增长。

下面这个来自谷歌的图表显示了过去一年各个框架的搜索兴趣。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架?

(蓝色表示 TensorFlow;黄色表示 Keras;红色表示 PyTorch;绿色表示 FastAI)

Medium 新文章

Medium 是数据科学文章和教程的热门聚集地。 我希望你会喜欢它!

在过去的六个月里,我统计了在谷歌网站搜索出的 Medium.com 文章数量,发现与 TensorFlow 和 Keras 相关的文章数量差不多,而 PyTorch 则相对较少。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? 作为高级 API,Keras 和 FastAI 受到新的深度学习从业者的欢迎, Medium 有许多教程展示了如何使用这些框架。

arXiv 新文章

arXiv 是一个在线存储库,大多数深度学习学术文章都发布在此。 我用 Google 搜索了在过去六个月里在 arXiv 上提及各个框架的新文章 。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? TensorFlow 的新文章出现率最高。

新的 GitHub 活动

GitHub 上的近期活动是衡量框架流行度的另一个指标。 我在下面的图表中描绘了 GitHub 点赞 、复制、关注和贡献者的数量。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? TensorFlow 在每个类别中拥有最多的 GitHub 活动。 然而,PyTorch 在关注和贡献者的增长方面非常接近。 此外,FastAI 也增加了许多新的贡献者。

毫无疑问,Keras 的一些贡献者对 TensorFlow 库也进行了研究。 值得注意的是,TensorFlow 和 Keras 都是由 Google 员工负责的开源产品。

Quora 新粉丝

我新增了 Quora 主题关注者数量 —— 一个我之前没有统计数据的新类别。

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? 在过去六个月中,TensorFlow 主题新增的粉丝数量最多,而 PyTorch 和 Keras 的粉丝增量就少了很多。

获得所有数据后,我将其合并为一个度量指标。

增长分数计算方法

以下是我计算增长分数的方法:

  1. 把所有特征值缩放至 0 到 1 之间。
  2. 聚合在线职位列表和 GitHub 活动子类别。
  3. 对各个类别根据以下百分比加权。
PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架?

4. 为了便于理解,各加权分数乘以 100。

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

其中,工作列表的权重占总分的三分之一多一点,原因也很俗气,有钱能使鬼推磨。 这种权重系数的划分似乎是在各种类别之间取得了适当的平衡。 与我在 2018 年对各框架能力系数的分析不同,这次我没有包括 KDNuggets 的使用情况调查(没有新数据),也没有包括书籍(六个月内发布的数量不多)。

结果

下面的表格中列出了四种主流框架在各个类目上的变化情况:

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? 下面是各个类别的分数,以及最后汇总的分数:

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? 下面是最终的增长分数:

PyTorch 杠上 TensorFlow:谁才是增长最快的深度学习框架? TensorFlow 是市场需求最多,也是增长最快的框架,它的领先地位不会在短期内被颠覆。 PyTorch 也在迅速发展,它在工作列表中的大量增加证明了其使用和需求的增加。在过去的六个月里,Keras 也有了很大的发展。最后,值得注意的是,FastAI 是从较小的基数开始发展的,它是最年轻的深度学习框架。

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

学习建议

如果你想学习 TensorFlow,我建议你从 Keras 开始。我推荐 Chollet 的 Python 深度学习 和 Dan Becker 关于 Keras 的 DataCamp 课程 。 Tensorflow 2.0 通过 tf.keras 使用 Keras 作为其高级 API。这里有 Chollet 对 TensorFlow 2.0 的快速入门介绍。

如果你想学习 PyTorch,我建议你从 FastAI 的 MOOC 实践深度学习编码 (v3) 开始,学习深度学习基础知识、FastAI 和 PyTorch 的基础知识。

TensorFlow 和 PyTorch 的未来发展方向是什么?

未来发展方向

我一直听说,与 TensorFlow 相比,人们更喜欢使用 PyTorch。 PyTorch 更具 pythonic,并且具有更一致的 API,它还具有原生的 ONNX 模型导出,可用于加速推理。此外,PyTorch 与 numpy 共享许多命令,这减少了学习它的障碍。

然而,TensorFlow 2.0 完全是为了改进用户体验,正如谷歌首席决策情报工程师 Cassie Kozyrkov 在此解释的那样。 TensorFlow 现在将拥有更直接的 API、简化的 Keras 集成和 eager execution 选项。这些变化以及 TensorFlow 的广泛采用应该有助于该框架在未来几年保持流行。

TensorFlow 最近宣布了另一个激动人心的计划: Swift for TensorFlow 的开发。 Swift 是一种最初由 Apple 构建的编程语言,在执行和开发速度方面,Swift 比 Python 有许多优势。 FastAI 将在部分高级 MOOC 中使用 Swift for TensorFlow ——请参阅 FastAI 联合创始人 Jeremy Howard 关于此主题的帖子。这种语言可能不会在一年或两年内进入黄金时间,但它可能是对当前深度学习框架非常有用的改进。

语言和框架之间的协作和交叉授粉肯定正在发生。

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

总结

目前来看,TensorFlow 和 PyTorch 都在快速增长, 两者现在都有很好的高级 API —— tf.keras 和 FastAI——它们降低了深度学习入门的门槛。本文还带你了解了一点最近的发展和未来方向。

如果你想要以交互方式使用本文中的图表或复制 Jupyter 笔记本,可以访问这里: https://www.kaggle.com/discdiver/2019-deep-learning-framework-growth-scores

希望本文的深度学习框架比较能对你有所帮助。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective C++

Effective C++

[美]Scott Meyers / 侯捷 / 电子工业出版社 / 2006-7 / 58.00元

《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)......一起来看看 《Effective C++》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换