TensorFlow 2.0 將包含許多 API 變更,例如,對參數進行重新排序、重新命名符號和更改參數的默認值。手動執行所有這些變更不僅枯燥乏味,而且容易出錯。為簡化變更過程并讓您盡可能順暢地過渡到 TensorFlow 2.0,TensorFlow 工程團隊創建了實用程序 tf_upgrade_v2,可幫助您將舊代碼轉換至新 API。
傳送門:
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 上提交問題。
-
API
+關注
關注
2文章
1485瀏覽量
61817 -
代碼
+關注
關注
30文章
4748瀏覽量
68354 -
tensorflow
+關注
關注
13文章
328瀏覽量
60499
原文標題:請注意更新TensorFlow 2.0的舊代碼
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論