码迷,mamicode.com
首页 > 其他好文 > 详细

请注意更新TensorFlow 2.0的旧代码

时间:2019-07-31 13:23:07      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:字符   导出   无法   rev   使用字符串   mamicode   切换   添加   简单   

TensorFlow 2.0 将包含许多 API 变更,例如,对参数进行重新排序、重新命名符号和更改参数的默认值。手动执行所有这些变更不仅枯燥乏味,而且容易出错。为简化变更过程并让您尽可能顺畅地过渡到 TensorFlow 2.0,TensorFlow 工程团队创建了实用程序 tf_upgrade_v2,可帮助您将旧代码转换至新 API。

60s测试:你是否适合转型人工智能?

https://edu.csdn.net/topic/ai30?utm_source=cxrs_bw

传送门:

tf_upgrade_v2:https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/upgrade.md

 

使用 pip 安装  TensorFlow 2.0 时,系统会自动添加 tf_upgrade_v2 实用程序。该程序可将现有的 TensorFlow 1.13 Python 脚本转换为 TensorFlow 2.0,以帮助加快您的升级过程。

 

我们已尝试自动化处理尽可能多的升级任务,但脚本仍无法处理一些句法和风格方面的变更。

 

某些 API 符号可能无法仅使用字符串替代方案简单升级。为确保 TensorFlow 2.0 仍支持您的代码,升级脚本加入了 compat.v1 模块。此模块将以等效的 tf.compat.v1.foo 引用代替表单 tf.foo 的调用。不过,建议您手动检查此类替代方案,并尽快将其迁移至 tf.* 命名空间(代替 tf.compat.v1.* 命名空间)中的新 API。

 

此外,由于我们弃用了某些模块(例如 tf.flags 和 tf.contrib),您将无法通过切换至 compat.v1 来实现 TensorFlow 2.0 中的某些变更。升级使用这些模块的代码可能需要额外使用一个库(如 absl.flags)或切换至 tensorflow/addons 中的软件包。

 

传送门:

tensorflow/addons:

https://github.com/tensorflow/addons

 

如果您想尝试将模型从 TensorFlow 1.12 升级至 TensorFlow 2.0,请按照下方说明执行操作:

 

首先,安装 tf-nightly-2.0-preview / tf-nightly-gpu-2.0-preview。

注意:使用 pip 安装 TensorFlow 1.13 及以上版本(包括 nightly 2.0 构建版)时,系统会自动安装 tf_upgrade_v2。

 

您可以在单个 Python 文件上运行升级脚本:

 

tf_upgrade_v2 --infile foo.py --outfile foo-upgraded.py

技术图片

 

您也可以在目录树上运行升级脚本:

 

# upgrade the .py files and copy all the other files to the outtree

tf_upgrade_v2 --intree foo/ --outtree foo-upgraded/

 

# just upgrade the .py files

tf_upgrade_v2 --intree foo/ --outtree foo-upgraded/ --copyotherfiles False

 

此脚本还会列出详细的变更,例如参数重命名:

 

 

技术图片

 

 

添加关键字:

 

 

技术图片

 

 

以及推荐进行的任何手动检查情况:

 

 

技术图片

 

 

所有这些信息将导出至主目录的 report.txt 文件中。在 tf_upgrade_v2 运行升级后的脚本并将其导出后,您便可运行模型并进行检查,以确保您的输出与 TensorFlow 1.13 类似:

 

技术图片

 

注意:

  • 在运行此脚本前,请勿手动升级部分代码。特别要注意的是,在对函数中的 tf.argmax 或 tf.batch_to_space 等参数进行重新排序后,脚本会错误地添加关键字参数并导致现有的代码发生错误映射

     

 

  • 此脚本不会对参数进行重新排序。相反,此脚本会将关键字参数添加至对自身参数进行重新排序的函数中

 

如要报告升级脚本错误或发出功能请求,请在 GitHub 上提交问题。

 

(本文为AI科技大本营转载文章,转载请联系作者)

2019年人工智能系统学:

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

 

群招募

 

扫码添加小助手微信,回复:公司+研究方向(学校+研究方向),邀你加入技术交流群。技术群审核较严,敬请谅解。

技术图片

推荐阅读:

                         技术图片

点击“阅读原文”,查看历史精彩文章。

技术图片

请注意更新TensorFlow 2.0的旧代码

标签:字符   导出   无法   rev   使用字符串   mamicode   切换   添加   简单   

原文地址:https://www.cnblogs.com/jfdwd/p/11275556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!