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 中的軟件包。