我不再使用TensorFlow的5大原因谷歌最受欢迎深度学习框架日渐式微?

Posted 新智元

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我不再使用TensorFlow的5大原因谷歌最受欢迎深度学习框架日渐式微?相关的知识,希望对你有一定的参考价值。

【AI WORLD 2017世界人工智能大会倒计时 17 

 


大会早鸟票已经售罄,现正式进入全额票阶段。还记得去年一票难求的AI WORLD 2016盛况吗?今年,即将于2017年11月8日在北京国家会议中心举办的AI World 2017世界人工智能大会上,我们请到CMU教授、冷扑大师发明人Tuomas Sandholm、 百度副总裁王海峰 、微软全球资深副总裁王永东、亚马逊AWS机器学习总监Alex Smola 、科大讯飞执行总裁胡郁,华为消费者事业群总裁邵洋、腾讯优图实验室杰出科学家贾佳亚等国内外人工智能领袖参会并演讲,一起探讨中国与世界AI的最新趋势。


点击文末阅读原文,马上参会!


抢票链接:http://www.huodongxing.com/event/2405852054900?td=4231978320026


大会官网:http://www.aiworld2017.com

  新智元编译  

来源:Quora

编译:费欣欣,常佩琦

 

【新智元导读】一篇叫做“TensorFlow Sucks”的文章火了。上线不到两年便成为Github最受欢迎深度学习项目,谷歌开源深度学习框架TensorFlow,有人爱它,有人恨他,本文摘选了一些研究人员和开发者使用TF的感受——TensorFlow竟然这么难用?欢迎留下评论,分享你的使用经验。


最近网上出现了一篇叫做“TensorFlow Sucks”的文章,作者吐槽了谷歌的开源机器学习框架TensorFlow的各种缺点,主要是认为TensorFlow缺乏灵活性,在设计思想和使用上不便于快速原型部署,而且相关的库太过高级无法轻松使用。那篇文章的作者还使用PyTorch和Caffe作对比,认为后者在某些代码和调用方面比TF好很多。


“谷歌想要开发出一款让所有人都能使用的工具,但是它做出的这个产品似乎并不能让所有人都满意。”


这篇文章发布后引发了不小的反向,部分原因当然是TensorFlow庞大的用户群。Quora上也有相关的讨论。下面新智元做了摘译。


TensorFlow是一个高级却给人感觉低级的框架


以下是是Quora用户、来自挪威的数据科学家Håkon Hapnes Strand的回答:


我认为这篇文章很有趣,大部分内容都和我自己使用TensorFlow的经验相吻合。


我完全同意作者关于TensorFlow缺点的主要观点。这是一个高级却给人感觉低级的框架。理想情况下,你想要快速进行原型部署(rapid prototyping),同时在控制细粒度。但通常二者不可得兼。而在TensorFlow里,你是两者都得不到。


所以,你只能在TF上面使用API,比如Keras。但要是用户必须走调用API这条路,本身就说明框架有问题。TensorFlow静态图计算模型的主要卖点在于性能,但各种基准显示,一些其他的框架在保持语法更加简单的同时,实现了与TensorFlow同等的效果。


很明显,大家对谷歌的狂热偏好带来了TensorFlow的流行。在我看来,还有几个不错的深度学习框架。比如说CNTK就不比TensorFlow差。但由于品牌名称不够响亮,就不如TensorFlow流行。大多数研发人员会认为,谷歌做的一切都很创新、令人激动。此外,从营销角度看,“CNTK”名字不够好,而“TensorFlow”就很吸引人。


极度侧重图是最大的优点,也是最大的劣势


以下是来自用户Bohdan Khomtchouk的回答,Khomtchouk是斯坦福的博士后:


我认为TensorFlow极度侧重于图(graph)的这一点是其最大的优势,但也是最大的弱点。


优势在于系统能够适应很多优化,对于生产部署而言也是理想的选择(因为没有语言的运行时间,就是图)。这些事情对谷歌来说很重要,我相信,最终,对于大多数产业级的客户来说也很重要,因此我认为总体而言是很好的。


缺点则主要来自工作时的别扭——你不是在编写程序,而是在定义图。对此,有两种应对方法:


1)使用更高级的声明式API,比如Keras和TF Estimators。实际上大多数人都希望这样使用TensorFlow,所以是一个很好的方法。我相信,TF团队将很快开始将这些框架作为新用户上手TF的工具大力推广。


2)TensorFlow Eager Mode,这将为TensorFlow带来必需的逐行运算语义和动态图。这方面还没有很多细节,但是看GitHub(https://github.com/tensorflow/tensorflow/tree/master/tensorflow/python/eager)和StackOverflow(什么是TensorFlow Eager代码:https://stackoverflow.com/questions/45967895/what-is-tensorflow-eager-code-for),可以看出些究竟。在我看来,这是为了给研究人员(动态图)和学习者(能够编写更多命令式的程序)提供更多类似PyTorch的环境而开发的。


我认为,这些回应将是非常有效的,而且TensorFlow将继续保持其作为深度学习选择框架/基础设施的地位。


放下TensorFlow,过上美好生活


以下是来自用户、INRIA研究人员Ujjwal的回答:


坦白说,我同意文章中作者的大部分观点。他没有空穴来风,实际上是切中了要害。作为一名研究人员,我完全理解他的经历。


我花了很多时间用TensorFlow做了许多复杂工作(heavy stuff)。不是自夸,真的是很复杂的工作,而这也是对深度学习解决方案的真正考验。


使用CIFAR10,CIFAR100或MNIST这些数据集,任何深度学习库都可以表现出惊人的效果。但你在真实环境中遇到的问题要复杂得多得多得多。


真实场景很重要,在做研究的时候尤其重要。我们都希望很快出结果,有很高的灵活性。如果一个库灵活性不足,那它就不是一个好的库。就是这么简单。


以下是我不喜欢TensorFlowd的原因:


  • 缺乏良好的输入通道:只有TensorFlow的1.4预览版中有一些还算不错的输入通道。Dataset API现支持预抓取,这对于在训练或推理时提高GPU的通量有很大帮助。然而,这也同样容易导致系统进入锁定状态。此外,TF没有文档或案例来展示有效的输入通道。


  • 极度糟糕的社区:你需要用TensorFlow做一些事情。但看文档理解或者解决不了,所以你决定去Github。但当你一点开“New Issue”,首先看到的是一大堆说明,明确地警告你,“只有与开发相关的”问题才能在这里问,其他query都该用StackOverFlow。因为我们都是开源好用户,所以老老实实去了StackOverFlow,发了有深度的帖子。但是,你等啊等,等啊等,不会有回答出现。这样的事情已经发生过好几十次。要是你在Github上发一个issue,就会有人跑过来把你的帖子关掉,还不忘贴心提醒你,这个问题更加适合StackOverFlow。……我在那边问点有深度的问题,不会有任何回应。


  • 粗浅的使用:我不是要说谁,但我在现实生活中真的遇到了很多就是对TensorFlow爱爱爱不停的人。但是,每当我问他们一些深度问题的时候,他们都给我看些CIFAR10 /MNIST的代码。这就是我说的“粗浅的使用”(Shallow Usage)。这是一个危险的趋势。TensorFlow教程中的一切都很棒。但相信我,从大规模应用的角度看,一个都不好。


  • 迷弟泛滥:这个原因最蠢,没有人会承认。但很多人听到TensorFlow就兴奋,就因为名字上跟了个“Google”。这是很难理解,但这是一个事实。而谷歌已经利用了这种愚蠢的优势。


  • 缺少良好的保存和重用方法:如果你使用4个GPU进行模型训练,然后使用S aver.save() 保存模型,.meta文件将保存与每个GPU相对应的图。如果你的朋友需要很快用这个模型进行测试,除非他是一个知道所有内部细节的专家(注意,并没有明确的文档),否则他就没法用。我再次强调,这些东西只有当你去真正使用时才有体会。用一个GPU,或者你只想看到所有使用的GPU都感觉良好,那你可能永远都不会注意到这个重大的缺陷。


我还能说很多,但实在不想打字了。


任何有计算机科学基础知识的人都知道静态图效率高。但是,我都懒得跟那些认为静态图很灵活是很好用的方法的人争论。动态图很重要,因为它们提供了更高水平的灵活性,而灵活性在研究中是非常重要的。


API的改动更是别跟我提。在安装每个新版本之前,我想我以前的代码都来不及。


我已经不用TensorFlow了,将来也不会碰它。我的日子现在好多了。



原文链接:https://www.quora.com/What-do-people-think-of-the-TensorFlow-sucks-article


如何选择框架,或许是从事机器学习/深度学习一个永远绕不开的问题。新智元世界人工智能大会邀请到亚马逊AWS机器学习总监Alex Smola,他将演讲《机器学习—最新进展与未来机遇》中,分享使用MXNet、TensorFlow等框架构建复杂模型的问题。


深入了解AI 技术最新进展?点击“阅读原文”,马上抢票!

【AI WORLD 2017世界人工智能大会倒计时 17 点击图片查看嘉宾与日程。


大会门票销售火热,抢票链接:http://www.huodongxing.com/event/2405852054900?td=4231978320026


【扫一扫或点击阅读原文抢购大会门票

AI WORLD 2017 世界人工智能大会购票二维码: 


以上是关于我不再使用TensorFlow的5大原因谷歌最受欢迎深度学习框架日渐式微?的主要内容,如果未能解决你的问题,请参考以下文章

安卓可能不再免费了!

最受欢迎机器学习框架“王座”之争:PyTorch “存在感”已直逼 Tensorflow

最受欢迎深度学习框架“王座”之争:PyTorch “存在感”已直逼 Tensorflow

Github 年度开源报告:TensorFlow 成最受欢迎深度学习项目

重磅TensorFlow 1.0 官方正式发布,重大更新及5大亮点

window上安装tensorflow