請注意更新TensorFlow 2.0的舊程式碼

AI科技大本營發表於2019-02-28

640?wx_fmt=jpeg

 

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

640?wx_fmt=gif

 

您也可以在目錄樹上執行升級指令碼:

 

# 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

 

此指令碼還會列出詳細的變更,例如引數重新命名:

 

 

640?wx_fmt=png

 

 

新增關鍵字:

 

 

640?wx_fmt=png

 

 

以及推薦進行的任何手動檢查情況:

 

 

640?wx_fmt=png

 

 

所有這些資訊將匯出至主目錄的 report.txt 檔案中。在 tf_upgrade_v2 執行升級後的指令碼並將其匯出後,您便可執行模型並進行檢查,以確保您的輸出與 TensorFlow 1.13 類似:

 

640?wx_fmt=gif

 

注意:

  • 在執行此指令碼前,請勿手動升級部分程式碼。特別要注意的是,在對函式中的 tf.argmax 或 tf.batch_to_space 等引數進行重新排序後,指令碼會錯誤地新增關鍵字引數並導致現有的程式碼發生錯誤對映

     

 

  • 此指令碼不會對引數進行重新排序。相反,此指令碼會將關鍵字引數新增至對自身引數進行重新排序的函式中

 

如要報告升級指令碼錯誤或發出功能請求,請在 GitHub 上提交問題。

 

(本文為AI科技大本營轉載文章,轉載請聯絡作者)

2019年人工智慧系統學:

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

 

群招募

 

掃碼新增小助手微信,回覆:公司+研究方向(學校+研究方向),邀你加入技術交流群。技術群稽核較嚴,敬請諒解。

640?wx_fmt=jpeg

推薦閱讀:

                         640?wx_fmt=png

點選“閱讀原文”,檢視歷史精彩文章。

相關文章