bd@atyun.com
对于争宠机器学习界之”最好的语言“总是战火不断。首先我们都初步了解Facebook的pytorch是一个动态的框架,用户增长更快。而Google的TensorFlow是一个静态的框架,出的更早,用的人更多。TensorFlow的静态框架是,我们需要先构建一个TensorFlow的计算图,构建好了之后,这样一个计算图是不能够变的了,然后我们再传入不同的数据进去,进行计算。因此有了固定的计算流程,灵活性便显得弱势;如果我们要改变计算的逻辑,或者随着时间变化的计算逻辑,这样的动态计算TensorFlow是实现不了的,或者可以说很麻烦。
而就在近期,曾经在Google Brain工作一年的前员工Denny Britz在自己的推特上表示已经动摇了自己专宠于TensorFlow的想法,打算转宠PyTorch了。
要知道就在四个月前,Denny Britz还认为TensorFlow和PyTorch大部分时候差别不大,除了个别情况,选哪个都行。
而究竟因为什么能让一个Google Brain前员工都放弃TensorFlow?Denny列出了PyTorch的好处。
Denny特别强调,自己的判断是针对研究角度的,也就是实现非标准模型和低级层,如果不是研究者,只需要一个库在一个数据集上跑出结果的话,TensorFlow和PyTorch都很好,不用刻意选择。
他觉得相比TensorFlow,PyTorch有以下几点不同:
不过,他也觉得PyTorch还有一些缺陷。一个缺陷就是可视化,有几个开源项目来实现可视化,但是没有一个好用的,他是真的想在多个自定义层级上实现可视化图形,在TensorFlow里这很简单,只要用名字作用域+Tensorboard就搞定了。
这让Denny很费解:“我是真心觉得可视化这事不难,直接允许用户用作用域标记模块,然后创建d3js图形就好了。”JIT编译也是一大缺陷。有一些操作不支持,追踪也仅适用于简单模型的一小部分,因为长得太像TensorFlow,Torch编写过程也很痛苦,所以Denny还没法去JIT编译自己的所有模型。
而对于这两个框架,众说纷纭,成为经久不衰的一个话题。那么,谁又会成为真正的最受欢迎呢?
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
要发表评论,您必须先登录。