• 问答
  • 技术
  • 实践
  • 资源
PyTorch 已全面超越 TensorFlow ?
专栏

答案来源:[土豆变成泥](https://www.zhihu.com/people/tudoubianchengni)@知乎 中国科学院自动化研究所 算法工程师


先说结论:目前Tensorflow还没有被Pytorch比下去,但之后极大概率被比下去。

作为谷歌tensorflow某项目的Contributor,已经迅速弃坑转向Pytorch了。

1.目前,在学术界Pytorch已经超越Tensorflow

在题目的补充内容中,包含大量的“学术界Pytorch比Tensorflow更有优势”的证据,因此不再多说,直接看题目中的数据即可,Pytorch因其简单易上手,而被广大Researcher所使用。

道理很简单,Research的目的是快速实现、验证自己的想法,而不太注重兼容、部署等问题,因此多数人奉行“怎么快怎么来”的策略;同样,只有能够快速验证自己idea的Researcher才能不被实现而耽误太多时间,更有机会发好的论文。

因此,学术界Pytorch未来会一枝独秀。

2.目前,在工业界Tensorflow依旧无可取代

工业界更注重部署,而Tensorflow的生态更有利于快速部署。

以Nvidia支持的TensorRT为例子,与Pytorch相比,英伟达官方不仅是是支持了Tensorflow,而且给出了多种模型的基于TensorRT的多版本模型,除此之外,还给出了不同模型在最常用的嵌入式板子TX2上的算法测试时间。
file

所以,如果作为一个工程人员,为了更快速给出方案、更快速跑通流程、更快速完成任务,最好的方式就是在现有的生态基础上,进行算法组合和调优,以满足特定任务。

而如果采用部署生态尚不成熟的Pytorch,可能遇到目前TensorRT不支持某些操作、TensorRT的优化没达到Tensorflow的水平,甚至出了一些莫名其妙的Bug然后花了好几天才解出来甚至解不出来。

所以,目前的部署生态,Tensorflow要比Pytorch老练很多。

3.未来,Tensorflow无法打入学术界

Tensorfow未来是无法打入学术界的。一个失了人心的框架,想力挽狂澜的再找回人心,比重新开始还要艰难。

除此之外,Tensorflow 2.0更值得令人批判,如果图它的Eager模式,我为何不使用Pytorch?图它的历史包袱吗?都是动态图,Pytorch清晰明了简洁,也没有那么多老旧历史需要绕道。而使用Tensorflow时候,总是一不小心就发现还是绕回了原来的旧版本上。

4.未来,Tensorflow可能也会失掉工业界

Tensorflow在工业界的地位,也没有那么牢固,因为生态总归是人构建的。

当学术界疯狂扑入Pytorch,对新模型的适配等工作,自然会倾向于Pytorch了。

有些项目做了Pytorch转Tensorflow的工具,到时候难道Tensorflow,就只用来部署了?

5. Tensorflow的劣势

Tensorflow静态图虽说上手难了点,但这并非1.x版本不好用的主要原因。Tensorflow 1.x不好用的主要原因在于API混乱

file

tf.nn中算是基本操作,可tf.layer、tf.keras、还有tf.contrib里面一坨东西tf.contrib.layer、slim等等,这么多冗余的Module,其实都只是基本的神经网络层,contrib里面额外有一些特殊的。

可是这种冗余极大降低了Tensorflow的生态质量。有的人习惯用tf.layer,有的喜欢nn,官方还一直用slim,不少人也用tf.contrib里面的很多东西。这种混乱使得Tensorflow的生态用起来并没有那么容易。

记得刚用tensorflow不久时候,对contrib里面的东西了解也不多。突然看代码遇到slim这狗东西,感觉简直了。谷歌官方的代码里,明明就一个MobileNet,就不能不用contrib里面的东西么?我就不知道有什么骚操作需要用到这里的东西,说好的contrib里面的东西不稳定呢?不稳定还总是用。

到了Tensorflow 2.0后,情况并没有好转。为了兼容1.x,谷歌也是想方设法的搞。可是,2.x的生态其实连Pytorch的车尾灯都看不到。图个啥?图时不时发觉还是1.x的生态好?

还不如坚守静态图,然后好好梳理一下自己的API!

总结,

Pytorch依旧上升,而tensorflow的混乱会使得tensorflow会优势渐失,倒向动态图的tensorflow,只会加速自己的消亡。


pytorch 实用工具总结
PyTorch trick 集锦

  • 0
  • 0
  • 767
收藏
暂无评论
shijie

华南理工

  • 18

    关注
  • 41

    获赞
  • 2

    精选文章
近期动态
  • 目标检测
文章专栏
  • shijie的专栏