請注意更新TensorFlow 2.0的舊程式碼
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
您也可以在目錄樹上執行升級指令碼:
# 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 上提交問題。
(本文為AI科技大本營轉載文章,轉載請聯絡作者)
2019年人工智慧系統學:
https://edu.csdn.net/topic/ai30?utm_source=csdn_bw
群招募
掃碼新增小助手微信,回覆:公司+研究方向(學校+研究方向),邀你加入技術交流群。技術群稽核較嚴,敬請諒解。
推薦閱讀:
點選“閱讀原文”,檢視歷史精彩文章。
相關文章
- TensorFlow 2.0 程式碼實戰專欄開篇
- 用Tensorflow2.0實現Faster-RCNN的程式碼介紹ASTCNN
- OAuth 2.0 授權碼請求OAuth
- Tensorflow1.x 與 Tensorflow2.0 的區別
- 輕鬆部署 Laravel 應用 | 《14. 程式碼更新時的注意事項》Laravel
- 程式碼簽名證書申請時需要注意什麼
- 圖卷積神經網路(GCN)理解與tensorflow2.0程式碼實現卷積神經網路GC
- 低程式碼和無程式碼的注意事項
- SOD讓你的舊程式碼煥發青春
- 請快點貼上複製,這是一份好用的TensorFlow程式碼集
- TensorFlow模型部署到伺服器---TensorFlow2.0模型伺服器
- 大量使用的Node.js包存在程式碼注入漏洞,請及時更新Node.js
- 如何將tensorflow1.x程式碼改寫為pytorch程式碼(以圖注意力網路(GAT)為例)PyTorch
- 請看看我的程式碼
- TensorFlow 2.0 Alpha 版釋出啦!
- TensorFlow2.0教程-文字分類文字分類
- Linux Tensorflow2.0安裝Linux
- iOS 程式碼注意事項iOS
- javascript程式碼注意事項JavaScript
- TensorFlow 2.0 的核心功能將是“Eager Execution”
- 如何避免舊請求的資料覆蓋掉最新請求
- 『深度長文』Tensorflow程式碼解析(一)
- 『深度長文』Tensorflow程式碼解析(二)
- 『深度長文』Tensorflow程式碼解析(五)
- 『深度長文』Tensorflow程式碼解析(三)
- 【Tensorflow_DL_Note12】TensorFlow中LeNet-5模型的實現程式碼模型
- 請教jive的一處程式碼
- TensorFlow2.0教程-使用keras訓練模型Keras模型
- TensorFlow2.0 + CNN + keras + 人臉識別CNNKeras
- 21 世紀的孩子們請注意!程式設計已成必備技能程式設計
- Chrome 77釋出,修復遠端程式碼執行漏洞!請儘快更新!Chrome
- 請教 TensorFlow 安裝問題
- 釋出delphi程式碼時的注意事項 (轉)
- 請停止程式碼註釋
- C/C++程式設計師請注意指標的用法(轉)C++程式設計師指標
- 請教Jive程式碼中的問題
- tensorflow2.0 自定義類模組列印問題
- [譯]標準化Keras:TensorFlow 2.0中的高階API指南KerasAPI