Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

哪个机器学习框架在学术界和工业界更流行,是PyTorch还是TensorFlow?

$
0
0

Horace He最近发表了一篇文章,文章总结了2019年机器学习框架的状况。该文章使用几个指标表明PyTorch正迅速成为研究领域的主要框架,而部署在商业/工业环境中的应用程序中,占据主导地位的则是TensorFlow

康奈尔大学(Cornell University)的研究生Horace He统计了有关PyTorch或TensorFlow的论文数量,这些论文发表在一系列著名的机器学习方向的大会上,如:ECCV、NIPS、ACL、NAACL、ICML、CVPR、ICCV和EMNLP。总的来说,2019年每个重要的大会上发表的大多数论文都是用PyTorch实现的。在视觉相关的会议上,用PyTorch与用TensorFlow的比例为2:1,而在自然语言相关的会议上,这个比例为3:1。在更通用的机器学习大会(如ICLR何ICML)上,会议发表的论文中,PyTorch被引用的次数更多。

他认为,与TensorFlow相比 ,PyTorch取得进展的原因包括其简洁性、简单的用法和直观的API,以及(至少)可以接受的性能。

另一方面,作者测量行业采用情况的指标表明,TensorFlow仍然处于领先地位。所用的指标包括:招聘岗位、GitHub受欢迎程度、媒体文章数量等等。他总结了学术界和工业界之间存在的差距有三倍的原因。首先,很多公司会尽可能地避免Python运行时的开销。其次,PyTorch不支持移动“边缘”机器学习。巧合的是,Facebook在PyTorch 1.3版本中刚刚加入对移动设备的支持,该版本发布于本月早些时候。再者,缺乏围绕服务相关的功能,这意味着PyTorch系统比用TensorFlow开发的等效系统更难产品化。

在过去的一年中,PyTorch和TensorFlow在很多方面都变得更加趋于相同了。PyTorch引入了“Torchscrip”和JIT编译器,而TensorFlow宣布将从2.0版本开始转向执行的“Eager模式”。Torchscript本质上是PyTorch的图形化表示。从代码中获取图形意味着,我们可以在C++中部署模型并进行优化。TensorFlow的Eager模式提供了一个命令式编程环境,可以立即评估操作,无需构建图形。在优缺点方面,它和PyTorch的Eager模式类似。它有助于调试,但是,模型无法导出到Python之外进行优化以及在移动设备上运行等等。


Viewing all articles
Browse latest Browse all 1638

Trending Articles