TensorFlow与PyTorch近几年发展对比

标签:#pytorch##tensorflow# 时间:2021/12/15 19:54:20 作者:小木

Tensorflow和PyTorch是深度学习最流行的两个框架,二者都有坚定的支持者。一般认为由于Google的支持,TensorFlow的社区支持比较好,在工业应用广泛。但是尽管有keras加持,但易用性方面依然被认为不如PyTorch。而后者最早由Facebook人工智能团队开发。由于其易用性,被认为在科学研究中有广泛使用。那么,最近几年二者发展如何,是否实际还如之前的观点一样,这里AssemblyAI的一个作者做了一些对比。

[TOC]

HuggingFace模型中PyTorch用的最多

HuggingFace是非常著名的AI社区,上面有很多企业和组织发布模型(关于这个社区我之前有介绍,很值得大家关注:人工智能初创企业Hugging Face是什么样的企业——HuggingFace简介

这里统计了HuggingFace上模型框架的使用情况:PyTorch完胜。约85%的模型都只使用PyTorch。只有8%的模型仅仅使用TensorFlow。而还有一部分模型两个都用了。


而如果我们只统计最流行的30个模型,那么所有的项目都使用了PyTorch,其中一部分是都使用的项目。仅使用TensorFlow的项目没有。


从HuggingFace的社区看,TensorFlow的使用率很低。不过这可能是由于HuggingFace本身就是PyTorch起家导致的。

在论文中,TensorFlow的使用人数越来越少

这部分数据统计来自于Gradient上的论文收集的数据,它追踪了这几年顶级期刊的论文情况。包括:

  • ECCV
  • NeurIPS
  • ICLR
  • ACL
  • NAACL
  • ICML
  • CVPR
  • EMNLP
  • ICCV

收集了这些论文中使用的框架数据,时间跨度从2017年到2021年。这几年里,TensorFlow框架的使用比率迅速降低。这个主要原因应该是TensorFlow 1.X的版本太难用了。虽然2019年发布的TensorFlow 2版本解决了很多问题,但是挡不住PyTorch势如破竹啊。


当我们看一下2018年和2019年使用PyTorch或TensorFlow的作者的出版物时,我们发现2018年使用TensorFlow的大多数作者在2019年迁移到PyTorch(55%),而2018年使用PyTorch的绝大多数作者留在了PyTorch 2019年(85%)。这一数据在下面的Sankey图中得到了可视化,左边对应的是2018年,右边对应的是2019年。请注意,这些数据代表了2018年每个框架的用户比例,而不是总人数。


PyTorch在PapersWithCode上的使用率也很高

最后,我们看一下来自Papers with Code的数据。这个网站的使命是创建一个免费和开放的机器学习论文、代码、数据集等资源。我们绘制了利用PyTorch、TensorFlow或其他框架的论文的百分比,数据按季度汇总,从2017年底到本季度。我们看到利用PyTorch的论文在稳步增长—在本季度创建的4500个资源库中,60%是用PyTorch实现的,只有11%用TensorFlow实现。


相反,我们看到TensorFlow的使用在稳步下降。即使在2019年发布了TensorFlow 2,解决了许多使使用TensorFlow 1进行研究的痛苦的问题,也不足以扭转这一趋势。我们看到,即使在TensorFlow 2发布后,TensorFlow的受欢迎程度也在近乎单调地下降。

总结

这个统计都是以学术界为主,不能完全反映工业界的情况。不过有一点可以肯定的是,TensorFlow 1.X版本的糟糕体验让很多人都转走了。而且1.X与2.X也是不兼容升级,导致很多人也很难受。此外,讨论中也有很多人说了一些体验:

  • TF1比较稳定可靠,但是TF2有很多bug,虽然已经有了很大进步,但是想要恢复到TF1的稳定性还有很长的路。
  • TF1很扎实,但感觉不灵活。如果你想运行与他们的教程几乎完全相同的东西,那是可以的;但如果你想尝试任何不同的东西,我觉得很痛苦。
  • TensorFlow的速度也会慢很多。我看到一个TF、PT和JAX的比较,TF比其他两个慢了一大截。
  • Jax基本上是TF的继承者,因为它允许导出模型,所以TF从未变得稳定,因为基本上有一个TF3。(这哥们有意思,他感觉TF2活不了多久,哈哈哈)
  • 肯定选Pytorch。代码可读、灵活、高效。另外,调试也非常容易。PyTorch绝对是方式方法更多的Pythonic,我想很多人都喜欢它的原因。
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送