易用性更强的TensorFlow 2.0要来了!tf.contrib被弃用
2018年08月15日 由 浅浅 发表
43057
0
自2015年开源发布以来,TensorFlow已成为全球应用最广泛的机器学习框架,可满足广泛的用户和用例需求。在此期间,TensorFlow随着计算硬件,机器学习研究和商业部署的快速发展而不断改进。
为了反映这些快速变化,团队已经开始研究TensorFlow的下一个主要版本。TensorFlow 2.0将是一个重要的里程碑,重点是其易用性。以下是用户对TensorFlow 2.0的期望:
- Eager execution将是2.0的核心功能。它通过TensorFlow实践更好地调整了用户对编程模型的期望,并且应该使TensorFlow更容易学习和应用。
- 通过交换格式的标准化和API的一致性,支持更多平台和语言,并改善这些组件之间的兼容性和奇偶性。
- 删除已弃用的API并减少重复数量,这些会给用户造成混淆。
团队计划在今年下半年发布TensorFlow 2.0的预览版。
公开2.0设计过程
团队将举行一系列公共设计评审,涵盖计划的变更。此过程将阐明将成为TensorFlow 2.0一部分的功能,并允许社区提出更改和语音问题。如果你希望查看有关流程的评论和更新公告,请加入developers@tensorflow.org。团队希望在今年晚些时候发布预览版后收集用户对计划更改的反馈。
兼容性和连续性
TensorFlow 2.0是一个纠正错误并进行改进的机会,这些改进在语义版本控制下是禁止的。
为了简化过渡,将创建一个转换工具,用于更新Python代码以使用TensorFlow 2.0兼容API,或者在无法自动进行此类转换的情况下发出警告。类似的工具在过渡到1.0时期做出了巨大贡献。
并非所有更改都可以完全自动完成。例如,将弃用API,其中一些API没有直接的等价物。对于这种情况,团队将提供兼容模块(tensorflow.compat.v1),其中包含完整的TensorFlow 1.x API,并将在TensorFlow 2.x的生命周期内维护。
一旦最终版本的TensorFlow 2.0发布,预计TensorFlow 1.x上不会有任何进一步的功能开发。在TensorFlow 2.0发布之日起,将继续为TensorFlow 1.x版本发布一年的安全补丁。
磁盘兼容性
我们不打算对SavedModels或存储的GraphDef进行重大更改(计划在2.0中包含所有当前内核)。但是,2.0中的更改将意味着原始检查点中的变量名称可能必须在与新模型兼容之前进行转换。
tf.contrib
TensorFlow的contrib模块已经超越了单个存储库中可维护和支持的模块。更大的项目可以单独维护更好,而团队将随着TensorFlow主代码孵化较小的扩展。因此,作为发布TensorFlow 2.0的一部分,将停止发布tf.contrib。团队将在未来几个月与各自所有者合作制定详细的迁移计划,包括如何在社区页面和文档中公布你的TensorFlow扩展。对于每个contrib模块,团队将
- 将项目集成到TensorFlow中
- 将其移至单独的存储库
- 完全删除它
这意味着将弃用所有tf.contrib,今天起将停止添加新的tf.contrib项目。团队正在寻找目前在tf.contrib的项目的所有者/维护者。
下一步
有关开发或迁移到TensorFlow 2.0的问题,请发送电子邮件至discuss@tensorflow.org与团队联系。要及时了解2.0开发的详细信息,请订阅developers@tensorflow.org,并参与相关的设计审核。
更多TensorFlow系统模型点击“这里”下载