新浪新闻客户端

我太难了!Reddit网友吐槽:从PyTorch转投TensorFlow后,没人搭理我的问题

我太难了!Reddit网友吐槽:从PyTorch转投TensorFlow后,没人搭理我的问题
2019年12月03日 12:56 新浪网 作者 新智元

  和AI大咖一起讨论吧~

  PyTorch已经成为增长最快的深度学习框架:

  仅在 2019 年上半年,ArXiv 论文中 PyTorch 的引用量增长了 194%;PyTorch 平台的贡献者数量比去年增长了 50% 以上,达到近 1200 人。

  一个更近期的数据是:

  NeurIPS 2019使用的机器学习框架:PyTorch 68-> 166,TensorFlow 91-> 74

  NeurIPS19论文使用的深度学习框架中,超过69%提到了PyTorch。不仅NeurIPS,PyTorch在深度学习研究的其他顶会,包括ML、CV、NLP等领域的主要会议中都占据了主导地位。

  可见,PyTorch 正在快速增长,尤其在学术圈中地位飙升,大有取代 “老大哥” TensorFlow,成为机器学习框架 No. 1 的势头。

  我太难了!Reddit网友吐槽:从PyTorch转投TensorFlow后,没人搭理我的问题

  过去两年我一直使用Keras/TF,直到最近我才改用PyTorch。现在我真的很喜欢PyTorch,我觉得它更简洁明了。只是我个人的看法。

  我太难了!Reddit网友吐槽:从PyTorch转投TensorFlow后,没人搭理我的问题

  我使用Tensorflow/Keras已经有一段时间了。我记得的结论是,Tensorflow在生产部署方面更出色,PyTorch在研究中表现更好。我最近开始使用PyTorch,不得不说我真的很喜欢它,感觉它更“pythonic”。此外,通过诸如ONNX之类的框架,部署(众所周知的模型)也开始变得不成问题。两者我都会继续使用。

  从Reddit网友的评论来看,从TensorFlow转PyTorch的研究人员往往有“真香”之感,但从PyTorch转TensorFlow怎样呢?

  今天,Reddit机器学习论坛上出现一则帖子引起热议:

  我从PyTorch切换到TF 2.0,我的看法是,TensorFlow库本身没有太大的问题(我听过很多关于TF的抱怨),真正的问题是缺少官方指南、详细的文档,以及TensorFlow团队缺少对社区问题的回答。

  我太难了!Reddit网友吐槽:从PyTorch转投TensorFlow后,没人搭理我的问题

  从PyTorch转TensorFlow后,没有人回答我的问题

  帖主DisastrousProgrammer描述了他从PyTorch转到TensorFlow后的无所适从——遇到问题搜索不到答案。他写道:

  我觉得我在尝试创建的应该是一些TensorFlow用户相当常见的pipeline。似乎每件事都有多种方法可以实现,每一种方法都有各自的细微差别,而这些细微差别在任何地方都没有正式的文档记录。你必须深入挖掘他们的GitHub issues,幸运的话,有时会在那里找到信息。

  TensorFlow还有许多非官方的medium博客,但我注意到它们经常包含不准确的信息。很多时候,那些博客不过是承包商制作的营销材料。

  我用Google搜索问题,指引我点开的是stackoverflow上几个月甚至一年前提出的没有人回答的问题。我认为这是最简单的方法。这些未解决的问题种有很多都是好问题,TensorFlow的官方文档都没有涉及这些问题。

  我太难了!Reddit网友吐槽:从PyTorch转投TensorFlow后,没人搭理我的问题

  我看了看这两个框架的零回答问题。Pytorch有2101个,Tensorflow有24066个。

  另一方面,Pytorch有一个论坛,在那里你可以经常得到Pytorch开发团队的回答。

  我听过很多关于Tensorflow的抱怨,但我个人并不认为它的结构本身很差。我认为它实际上是相当好的,但是如果你没有足够的信息让人们最好地使用它,那么创建一些很棒的东西出来又有什么意义呢?

  我从未遇见过真正更喜欢Tensorflow而不是PyTorch的人

  这则帖子一下子引起大家的关注,有人深有同感,yusuf-bengio分享了自己的故事:

  使用TensorFlow的5步经验:

  1、我想到一个idea;在训练过程中逐渐改变一个损失函数的“形状”

2、我用Google搜索“tensorflow 训练中改变损失函数”

  3、最顶部的结果是一篇medium文章,我点开了它

4、这篇medium文章介绍了“均方误差”损失,以及如何使用它来在TensorFlow上训练“深层神经网络”

  5、我把头撞在键盘上

  他表示:TensorFlow的一个主要问题是生态系统,就是说,博客文章、stackoverflow上的答案,以及code repos,仍然主要是针对TF 1.x的。

  当我有关于TF 2.0的问题时,我经常做的是:

  在搜索查询中将“tensorflow”替换为“keras”,更有可能找到最佳答案。

  直接查看TF 2.0源代码

  这两个都不是用户友好的寻求帮助的选择。

  Reddit网友netw0rkf10w也深有体会,不过TF团队的快速反馈让他感到安慰:

  在过去的两个月里,我一直在用TF 2.0做一个项目,遇到了很多挫折,主要是由于bug、文档不清晰和缺少功能。TensorFlow还有很长的路要走,不仅是代码,还有文档和支持。目前PyTorch在所有这些方面都做得更好。

  然而,我可以看到TF团队已经为改善这个库做出了很大的努力。在我抱怨TF模型保存/加载机制非常糟糕(就用户体验而言)之后,他们团队的两名经理联系我,询问反馈。非常感谢,这也是我继续使用TensorFlow的主要原因之一。

  从Reddit评论来看,许多人认为TensorFlow“难用、难学”:

  4138:

  我同意你的看法。在TensorFlow刚发布那个时期,学习TF是相当容易的(官方网站上的教程就很好)。Keras出现后,就变成经典TF和Keras混在一起的半吊子指南了。要学习如何使用常规TF层是不可能的,除非查看旧的repos等等。这就是我转向PyTorch的原因。

  mexiKobe:

  我觉得TF简直就是一团糟。TF与Keras合并也没有太大帮助。

  显然,eager execution是正确的方向,现在TF变得越来越像Pytorch了,而不是相反。在这一点上,关于选择TF的主要论据就是它很流行。但坦率地说,Pytorch更好。

  drsxr:

  同意。功能是一样的,但API调用有微妙的更改,并且试图找出更改是什么涉及大量的代码重写!

  我有点感觉TF 2.0是谷歌的专有产品,他们将在内部使用,尽管它是开源的(没有文档+开源=??不是真正的开源。)

  考虑到有多少人以开源的方式为TensorFlow的早期版本做出了贡献,这真是一记耳光,我真的不希望变成这样。

  也许商业模式是让一切都通过GCP(谷歌云平台)运行,用一个简单的链式应用方法来做事情。这至少是我在参加GCP开发者大会时得到的印象。

  seraschka针对“两个框架的零回答问题,Pytorch有2101个,Tensorflow有24066个”这个问题表示:

  我认为这可能是由于问题数量导致的,例如,未回答/已回答的比例作为衡量标准可能更能提供信息。除了框架本身流行外,我认为Tf在StackOverflow上有更多问题,因为我记得TensorFlow没有像https://discuss.pytorch.org这样的专门讨论的论坛,官方建议在StackOverflow上发布问题-不确定他们现在是否仍然这样建议。

  无论如何,尽管看起来他们稍微完善了TF文档并增加了评级和更轻松地提供反馈的方式,但我认为文档的问题不在于文档本身,而在于框架太凌乱,以至于写得很好的书面文档都会令人困惑。

  当然了,TensorFlow仍然很受欢迎,起码在生产环境被大量使用。但有没有人真正喜欢TensorFlow而不是PyTorch的呢?似乎没有,lqstuart说:

  我从未遇见过真正更喜欢Tensorflow而不是PyTorch的人,我也从未遇到过知道如何在生产中使用PyTorch的人。所以,在工作中,我和团队使用的是Tensorflow。

  这个库可以说相当糟糕。应该有人见过 "tf.slim," "tf.lite," "tf.keras," “tf.contrib.layers”和"tf.train.estimator"全在同一个地方吧。当我看到这种重复的功能和糟糕的文档时,我觉得这是组织/领导的问题。

  最后,有人对帖主问道:你究竟为什么要从Pytorch切换到TF 2.0?

  这是真正的问题。我们现在用TF 1.0上,会尽可能地坚持下去,然后可能会切换到Pytorch。

  我猜是“这山望着那山高”。尽管粗略地搜索一下就会发现TF2.0不过是一片荒芜之地,到处是迷失的灵魂和破碎的幻想。

  在我看来,TF在生产和移动等模型部署的生态系统要成熟得多。诚然,最初发布的pytorch jit的缺陷可能极大地影响了这种观点;现在情况可能已经有所改善。

  参考链接:

  https://www.reddit.com/r/MachineLearning/comments/e4pxqp/d_ive_been_switching_over_from_pytorch_to_tf_20/

  寒冬里,这个最酷AI创新平台招人啦!新智元邀你2020勇闯AI之巅

  在新智元你可以获得:

  与国内外一线大咖、行业翘楚面对面交流的机会

  掌握深耕人工智能领域,成为行业专家

  远高于同行业的底薪

  五险一金+月度奖金+项目奖励+年底双薪

  舒适的办公环境(北京融科资讯中心B座)

  一日三餐、水果零食

  新智元邀你2020勇闯AI之巅,岗位信息详见海报:

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。
TensorFlowReddit
权利保护声明页/Notice to Right Holders

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2024 SINA Corporation

All Rights Reserved 新浪公司 版权所有