百科问答小站 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]。

谢谢




  

相关话题

  如何评价逍遥子张勇接任阿里巴巴这两年的“成绩”? 
  特斯拉宣布滇藏线超级充电站正式贯通,
沿途设 14 座超级充电站, 1 座目的地充电站,有哪些意义? 
  特斯拉案终审败诉,因欺诈消费者被判退一赔三,你怎么看? 
  如何看待阿里巴巴遭遇国内网络爬虫,大量用户数据泄露,对于泄露数据的用户有哪些影响? 
  如何看待 B 站华为鸿蒙系统发布会直播的前一两分钟被封? 
  怎么选取训练神经网络时的Batch size? 
  Kotlin语言现在怎么不火了? 
  如何评价 AMD 推出的 FidelityFX Super Resolution(FSR)技术? 
  现在985机械电子工程专业研一快结束,想转java或者ic验证工程师,不知道这两个方向如何选择? 
  如何评价搜狗输入法和讯飞输入法因疑似违规收集用户信息被苹果、华为、小米等多家主流应用商店下架? 

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





© 2025-03-11 - tinynew.org. All Rights Reserved.
© 2025-03-11 - tinynew.org. 保留所有权利