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

谢谢




  

相关话题

  如何看待马斯克在世界互联网大会表示,特斯拉所有数据都会储存在中国? 
  如何评价华为公布的 2021 年上半年经营业绩? 
  如何看待小米发布 200W 有线 + 120W 无线充电技术,称最快 8 分钟手机充满电,意味着什么? 
  Kotlin语言现在怎么不火了? 
  如何看待网传宁德时代部分员工购买了特斯拉,是否真实? 
  如何评价华为新开源的鸿蒙方舟JS运行时(Ark JS Runtime)? 
  如何看待警方查明台州特斯拉撞交警一案,驾驶员全责,与特斯拉车辆本身无关? 
  现在质疑鸿蒙/华为技术力的人是什么样的人? 
  如何看待7月10日特斯拉维权女车主再发声:「特斯拉始终拒绝提供完整数据,会继续维权」? 
  网传某大厂员工离职前在内网发离职感言,指责大厂员工风气不好,风气问题是大公司的通病吗? 

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





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