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

發佈了64 篇原創文章 · 獲贊 21 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章