加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

发布时间:2019-10-14 22:12:33 所属栏目:经验 来源:thegradient 编译:张大笔茹、曹培信、刘俊寰、牛婉
导读:副标题#e# 大数据文摘出品 来源:thegradient 编译:张大笔茹、曹培信、刘俊寰、牛婉扬、Andy 2019年,机器学习框架之争进入了新阶段:PyTorch与TensorFlow成为最后两大玩家,PyTorch占据学术界领军地位,TensorFlow在工业界力量依然强大,两个框架都在向对
副标题[/!--empirenews.page--]

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

大数据文摘出品

来源:thegradient

编译:张大笔茹、曹培信、刘俊寰、牛婉扬、Andy

2019年,机器学习框架之争进入了新阶段:PyTorch与TensorFlow成为最后两大玩家,PyTorch占据学术界领军地位,TensorFlow在工业界力量依然强大,两个框架都在向对方借鉴,但是都不太理想。

最后谁能胜出?还得看谁更好的回答几个关键问题。

来自康奈尔大学的Horace He刚刚在Gradient发布了一篇长文探讨2019年的两大机器学习框架之争,他论述了PyTorch和TensorFlow各自的优劣和发展趋势,但是很明显更看好PyTorch,特别是其在学术领域起到的驱动作用。

刚好,今天也是PyTorch 1.3发布的日子,最新的版本增加了更多工业方面的能力,量化还有终端支持。PyTorch官方称还将启动许多其他工具和库,以支持模型的可解释性,并将多模式研究投入生产。

PyTorch 1.3发布官方链接:

https://PyTorch.org/blog/PyTorch-1-dot-3-adds-mobile-privacy-quantization-and-named-tensors/

机器学习的未来你更看好PyTorch还是TensorFlow呢?也欢迎留言告诉我们。

以下是全文:

自2012年深度学习重新获得突出地位以来,许多机器学习框架也相应成为研究人员和行业从业者的新宠。

从Caffe和Theano的早期学术成果,到业界支持的大规模PyTorch和TensorFlow,面对如此多的选择,人们很难知道最好的框架是什么。

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

如果从Reddit看,你可能会认为PyTorch风头正盛。但如果你浏览的是机器学习大咖Francois Chollet的Twitter,你可能会认为TensorFlow/Keras是主流框架。

2019年,机器学习框架之战主要是PyTorch和TensorFlow的对峙。

根据我的分析,在学术领域,研究人员正逐渐放弃TensorFlow,扎堆涌向PyTorch。与此同时,在工业领域,TensorFlow是首选平台,但这种情况可能不会持续很久。

一、PyTorch在研究领域日益占据主导地位

首先当然是先用数据说话。

下图显示了顶级研究会议接受论文中,使用TensorFlow或Pythorch的比率。可以发现,所有的折线都向上倾,并且在2019年,主要会议的论文中,多数使用的都是PyTorch。

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

如果觉得仅靠会议论文数据还不够,这里还有一张图来证明PyTorch在研究社区获得关注的速度。

下图显示了PyTorch和TensorFlow在各类会议上被提及的次数图。

PyTorch

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

2018年,PyTorch获得的关注还比较少。但现在,大多数人都在使用PyTorch:69%的CVPR、75%以上的NAACL和ACL、50%以上的ICLR和ICML使用的也是PyTorch。

PyTorch在视觉和语言会议方面的优势最为明显,分别以2:1和3:1的比例超过了TensorFlow。此外可以看到,在ICLR和ICML等通用机器学习会议上,PyTorch也比TensorFlow更受欢迎。

虽然有人认为PyTorch还是一个全新的框架,并试图在TensorFlow主导的世界中分得一杯羹,但是数据告诉我们并非如此。除了ICML,在NAACL、ICLR和ACL等会议上,TensorFlow今年的论文整体上都比去年少。

也就是说,慌的不是PyTorch,而是TensorFlow。

1. 为什么研究人员喜欢PyTorch?

简单。PyTorch类似于numpy,非常Python化,很容易就能与Python生态系统的其余部分集成。例如,可以在PyTorch模型中任何地方添加pdb断点。而在TensorFlow中,调试模型需要一个活动会话,整个过程非常麻烦。

API。大多数研究人员更喜欢PyTorch的API而不是TensorFlow的API。部分原因是因为PyTorch的设计更好,还有部分是因为TensorFlow切换其API接口过于频繁(比如“layers”-“slim”-“estimators”-“tf.keras”),这阻碍了其自身的发展。

表现。尽管PyTorch的动态图给出的优化机会很少,但许多传闻称PyTorch的速度不比TensorFlow慢多少。目前尚不清楚这是否属实,但至少,TensorFlow在这一方面还没有获得决定性的优势。

2. TensorFlow 未来的研究方向是什么?

即使TensorFlow在功能上与PyTorch不相上下,但PyTorch已经覆盖了机器学习社区的大部分。这意味着PyTorch实现将更容易找到,作者将更有动力用PyTorch发布代码,而且你的合作者也很可能会更喜欢PyTorch。因此,任何向TensorFlow 2.0的回迁可能会很慢。

TensorFlow在Google/Deepmind中有一批忠实的用户,但不知道Google最终是否会在这一点上动摇。现在,很多Google想招募的研究人员已经开始喜欢上PyTorch了,我也听到抱怨说Google内部很多研究人员希望使用TensorFlow之外的框架。

此外,PyTorch的统治地位很可能会切断谷歌研究人员与其他研究社区的联系。他们不仅难以在外部研究的基础上进行构建,而且外部研究人员也不太可能在谷歌发布的代码基础上进行构建。

TensorFlow 2.0是否能重新俘获回之前的粉丝还有待观察。尽管eager模式很吸引人,但对于Keras API而言并非如此。

二、用于产业的PyTorch和TensorFlow

虽然PyTorch目前在研究领域占据主导地位,但稍微注意一下就会发现TensorFlow仍然是占据主导地位的框架。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读