tensorflow1.x代码升级到2.0

0 写在前面

官网有详细教程但令人难以下咽,网上找到了链接,但是也太啰嗦,简化如下。

1 具体操作

首先cd到你想转换的比如foo.py脚本下,终端运行

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

foo-upgraded.py就是转换后的代码
对于批量转换,可以使用目录树
转换目录下的所有文件:

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

只转换.py文件

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

转换之后可能常出现“tf.placeholder() is not compatible with eager execution”等问题,在转换后的代码加入以下代码即可

tf.compat.v1.disable_eager_execution()

2 注意事项

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

你可能感兴趣的:(安装配置)