百科问答小站 logo
百科问答小站 font logo



如何看待Keras正式从TensorFlow中分离? 第1页

  

user avatar   zhu-qian-li-17 网友的相关建议: 
      

谢邀。

我是Keras团队的工程师,也是主持这次code分离的工程师。

首先来介绍一下这个项目最早的初衷是什么。TF是一个巨大的项目,涉及到的代码从最底层硬件交互,到中间的算子,然后到最上层用户python,编译整个项目是一个非常耗时耗力的过程。在google内部,我们有十分强大的编译工具和cache,一般build整个项目只要几分钟。但是在普通用户的单机上,基本上就是几个小时。(我们以前组里开玩笑说租一个最大的GCP虚拟机来编译TF,七七八八大概一次要5美金左右)。所以基本上让用户从GitHub上来贡献代码就是个劝退的过程。要么PR是只改document,要么就是完全没有测试过,然后我们工程师要自己帮用户跑一遍测试。

在19年的时候大家就意识到了这个问题,TF这个项目不能无限的扩大下去。Infra组的Gunhan就提出了一个modular TF的设计(感兴趣的小伙伴可以去看看)。

主要的想法就是把不同层的代码分开打包和编译,然后互相只通过公开的接口来交互。我们这次的项目也是同样的初衷,具体的设计可以从下面看到。

原本这个设计在20年初就通过了,后来因为疫情稍微延后了一下。主要的时间是花在了清理TF和Keras之间的依赖关系上,而且原本很多Keras代码直接使用了非公开API,把它们全都改写成公开API花了很多功夫。

具体的成果就是现在编译Keras完全不耗时(因为python不需要编译),跑单元测试也基本很快,更重要的是基本理清了既存代码里的依赖关系。

站在用户的角度说,这个改动是基本没有影响的,我们只是把代码挪了个地方,正常的tf.keras API也没有任何改变。对于想贡献代码的小伙伴应该会让体验更加好一点。

希望这个回答能够解答大家的疑问,而不是让大家觉得我们在反复横跳[doge]。

谢谢




  

相关话题

  网友们好,我今年上大学,想为国家做贡献,尤其想在芯片研发和光刻机研发方面奋斗,那么该选什么专业呢? 
  如何看待Keras正式从TensorFlow中分离? 
  如何评价 Apple Watch 通过国家药品监督管理局医疗器械批准,这意味着什么? 
  如何看待韩国母亲河汉江水里伟哥浓度超标这件事? 
  怎么看待马斯克卫星互联网成烂尾项目?真实情况是怎样的? 
  CPU和GPU跑深度学习差别有多大? 
  如何看待小米发布 200W 有线 + 120W 无线充电技术,称最快 8 分钟手机充满电,意味着什么? 
  如何评价腾讯公司假开源? 
  如何看待猫咪情绪识别APP?你相信用程序可以准确识别出宠物的情绪吗? 
  量子计算的商业应用前景如何?目前有哪些大公司在做相关的技术开发和布局? 

前一个讨论
如何学习好 Git ?
下一个讨论
你是如何自学R语言的?





© 2024-11-12 - tinynew.org. All Rights Reserved.
© 2024-11-12 - tinynew.org. 保留所有权利