资讯
2019-11-18 16:02:25 来源:艾崴安检
[摘要]近日,Reddit的一则热帖引发机器学习社区大量讨论:
NeurIPS 2019使用的机器学习框架:PyTorch 68-> 166,TensorFlow 91-> 74
帖主Horace He是康奈尔大学的学生,他的研究兴趣是编译
很长一段时间以来,TensorFlow有很多PyTorch没有的“面向生产”的特性。例如部署到移动端,能够在没有python环境的情况下运行,有很多方法可以最大化模型的性能(量化等等)。
如果你要在生产中部署模型,那么业界仍然首选TF。除非他们能让PyTorch的production pipeline不那么糟糕,否则这种情况将一直持续下去。
总体来看,网友的体验与Horace He的分析在很大程度上是一致的。但PyTorch究竟好用在哪里呢,Horace He的文章还细致分析了两者各自的特性、优势和不足,并讨论了机器学习框架的未来。
2019年机器学习框架之战,PyTorch还是TensorFlow?
自2012年深度学习重新获得重视以来,许多机器学习框架便争相成为研究人员和行业从业人员的新宠。从早期的学术成果Caffe和Theano到庞大的产业支持的PyTorch和TensorFlow,在这么多选择中,到底最流行的是哪一个?
如果你只浏览Reddit,则可能会假设每个人都在用PyTorch。若从Francois Chollet的Twitter来判断,TensorFlow或Keras可能是主流,而PyTorch却停滞不前。
在2019年,机器学习框架之战还有两个主要竞争者:PyTorch和TensorFlow。分析表明,研究人员正在放弃TensorFlow并大量涌向PyTorch。同时,在行业中,Tensorflow当前是首选平台,但从长远来看可能并非如此。
PyTorch在研究领域的主导地位不断提升
先来看看数据。下图显示了从2017~2019年,在主要机器学习顶会上,仅提及PyTorch的论文和使用TensorFlow或PyTorch的论文之间的比例。可以看出,所有的线条都在向上倾斜,并且在2019年的每个主要会议上,大多数论文都在PyTorch中实现。
如果你需要更多证据证明PyTorch在学术界的发展有多快,下面是PyTorch与TensorFlow被提及数量的对比图。
PyTorch和TensorFlow被单独提及的数量
在2018年,PyTorch还是少数。现在,PyTorch已是主流,CVPR使用PyTorch的占 69%,NAACL和ACL中占75%以上,而ICLR和ICML中占50%以上。虽然PyTorch在视觉和语言会议上的统治地位最强(PyTorch与TensorFlow相比是2:1和3:1),但在ICLR和ICML等常规机器学习会议上,PyTorch也比TensorFlow受欢迎。
虽然有人认为PyTorch仍然是一个新兴的框架,试图在TensorFlow主导的世界中开拓一席之地,但数据显示并非如此。除了ICML之外,在任何一次会议上,TensorFlow的增长都与论文的总体增长保持一致。在NAACL、ICLR和ACL,Tensorflow今年的论文数量实际上比去年少。
PyTorch不用担心自己的未来,需要担心的是TensorFlow。
为什么研究人员喜欢PyTorch?
简单。它类似于numpy,非常具有python风格,并且可以轻松地与Python生态系统的其余部分集成。例如,只需在PyTorch模型中的任何地方插入一个pdb断点,它就可以工作了。在TensorFlow中,调试模型需要一个活动会话(active session),并且最终变得更加棘手。
很棒的API。与TensorFlow的API相比,大多数研究人员更喜欢PyTorch的API。一个原因是PyTorch的设计更好,另一个原因是TensorFlow通过多次切换API(例如‘layers’ -> ‘slim’ -> ‘estimators’ -> ‘tf.keras’)把自己搞残了。
性能。尽管事实上PyTorch的动态图提供的优化机会很少,但是有许多传闻称PyTorch的速度和TensorFlow一样快,甚至比TensorFlow还快。目前尚不清楚这是否真的成立,但至少,TensorFlow在这一领域还没有获得决定性的优势。
TensorFlow的研究前景如何?
即使TensorFlow在功能方面与PyTorch不相上下,但PyTorch已经覆盖了社区的大部分。这意味着PyTorch将更容易找到,作者将更有动力在PyTorch中发布代码(以便人们使用它),并且你的合作者很可能会更喜欢PyTorch。因此,如果真的发生的话,任何回到Tensorflow 2.0的迁移都可能很慢。
价格:¥0.00
价格:¥0.00