TensorFlow 2.0要来了。
昨天,谷歌大脑的Martin Wicke在一封公开邮件里,给这座即将造好的里程碑,做了个预告。
他说今年晚些时候,TensorFlow 2.0的一个预览 (Preview) 版本,就会和程序员们见面了。
在那之前,大家应该对这次重大更新,抱些怎样的期待?
邮件列举了以下几条:
· Eager Execution成为2.0的一个核心功能。这个命令式的编程环境,会让入门TensorFlow变得更容易。
· 支持更多平台、更多语言;通过交换格式的标准化以及API的协调,来提升组件之间的兼容性和对等性。
· 移除已弃用的API,并减少重复,也是减少用户的困惑。
往下,看看详情。
邮件写到,TensorFlow 2.0是一个纠正错误、做出改进的好机会。有些改善,在语义化版本控制 (Semantic Versioning) 之下,通常是做不到的。
为了顺滑地过渡到新版本,团队会做一个转换工具,用于更新Python代码,这样便能使用TensorFlow 2.0兼容的API了。
如果遇到无法自动转换的情况,系统也会提醒人类。想当年,向1.0过渡的时候,类似的工具也帮了大忙。
并非所有改变,都能自动完成。比如,新版本将会弃用一些API,而其中有些API并没有直接对等的替换。
针对这样的情况,TensorFlow会提供一个兼容模块 (tensorflow.compat.v1) ,里面有完整的TensorFlow 1.x API,并且在2.x的生命周期里,会得到持续的维护。
不过,一旦2.0正式版发布,1.x就不会再有任何功能更新了。但在那之后,团队还是会给最后一版1.x,提供一年的安全补丁。
SavedModel和GraphDef,都不会发生什么重大的变化。
但2.0意味着,原始检查点 (Checkpoint) 里的变量名称,需要转换,才能跟新的模型兼容。
contrib模块的成长,超出了TensorFlow团队 (在一个repo里) 能维护的范围。
Wicke说,更大的项目,分开维护可能会更好。
不过,团队依然会在2.0里孵化一些小型的扩展。
所以,2.0的一个重大的变化,就是tf.contrib被完全弃用了。
在未来几个月,团队会与现有contrib模块的主人们,指定迁移计划,比如怎样在社区页面上或以文件的形式,发表自己的TensorFlow扩展。
每一个contrib模块,命运有三种:
1.集成到TensorFlow里。
2.移到一个单独的Repo里。
3.彻底移除。
现在,新的tf.contrib项目,已经停止添加了。
老项目的主人/维护者,也要赶快跟TensorFlow团队联系了。
重大革新发生之前,要听听广大开发者怎么说。
TensorFlow 2.0的开发,包含一个公开设计审查 (Public Design Reviews) 环节,大家都可以发表自己的意见。
获得参与感,请至以下邮箱:
以及GitHub传送门:
https://github.com/tensorflow/community/blob/master/governance/TF-RFCs.md
对于新的TensorFlow,你还期待怎样的改变?
— 完 —
加入社群
量子位AI社群19群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态