作者:TensorFlow
編譯:ronghuaiyang
TensorFlow2.0將聚焦於易用性,Keras成為了推薦的模型構建API,還有大家可能更加關心的1.x到2.0的遷移的問題,這裡給你個完整的解答。
多虧了一個令人難以置信的、多樣化的社區,TensorFlow已經成長為世界上最受歡迎的ML平台之一,這個社區包括:
去年11月,TensorFlow慶祝了它的3歲生日回顧了多年來添加的特性。我們對另一個重要里程碑TensorFlow 2.0感到興奮。
TensorFlow 2.0將專注於簡單易用,並提供如下更新:
在過去的幾年裡,我們向TensorFlow添加了許多組件。使用TensorFlow 2.0,這些將打包到一個全面的平台中,支持從訓練到部署的機器學習工作流。讓我們用一個簡化的概念圖來看看TensorFlow 2.0的新架構,如下圖所示:
在最近的一篇博客文章中,我們宣布Keras,一個用戶友好的機器學習API標準,將成為用於構建和訓練模型的核心高級API。Keras API使開始使用TensorFlow變得很容易。重要的是,Keras提供了幾個模型構建api(順序的、功能的和子類化的),因此你可以為你的項目選擇正確的抽象級別。TensorFlow的實現包含增強功能,包括快速執行、即時疊代和直觀調試,以及tf.data,用於構建可擴展的輸入pipelines。
下面是一個工作流程示例(在接下來的幾個月里,我們將更新下面連結的指南):
TensorFlow一直為生產提供直接的途徑。無論是在伺服器、邊緣設備還是web上,TensorFlow都允許你輕鬆地訓練和部署模型,無論使用何種語言或平台。在TensorFlow 2.0中,通過標準化交換格式和對齊的api,我們正在改進跨平台和組件之間的兼容性和對稱性。
一旦你訓練並保存了你的模型,你就可以直接在你的應用程式中執行它,或者使用其中一個部署庫來提供服務:
TensorFlow還支持其他語言,包括 C, Java, Go, C#, Rust, Julia, R等等。
TensorFlow使新想法從概念到代碼、從模型到發布變得容易。TensorFlow 2.0包含了許多特性,可以在不犧牲速度或性能的前提下定義和訓練最先進的模型:
TensorFlow 2.0引入了一些新的擴展,允許研究人員和高級用戶進行實驗,使用了豐富的擴展,如Ragged Tensors、TensorFlow Probability、Tensor2Tensor等。
使用這些功能,TensorFlow提供執行簡單的原型設計與調試,分布式策略API和自動圖,並支持tpu ,使TensorFlow 2.0一個易於使用的,可定製的,高度可擴展的平台,以及進行先進的ML研究和翻譯研究生產pipelines。
自從我們第一次開源TensorFlow以來,已經有了許多版本和API疊代。隨著ML的快速發展,該平台已經得到了極大的發展,現在支持不同需求的不同用戶組合。使用TensorFlow 2.0,我們有機會基於語義版本控制清理和模塊化平台。
以下是一些更大的變化:
此外,將從核心TensorFlow存儲庫和構建流程中刪除tf.contrib。TensorFlow的contrib模塊已經超出了單個存儲庫中可以維護和支持的範圍。較大的項目最好單獨維護,而較小的擴展將逐步擴展到核心TensorFlow代碼。已經成立了一個特別興趣小組(SIG)來維持和進一步發展一些更重要的計劃項目。如果您有興趣投稿,請參與這個RFC。
為了簡化到TensorFlow 2.0的遷移,將有一個更新TensorFlow 1的轉換工具。使用TensorFlow 2.0兼容api的Python代碼,或者標記代碼不能自動轉換的情況。
並不是所有的更改都可以完全自動完成。例如,一些不推薦的api沒有直接對應的api。這就是為什麼我們引入了TensorFlow .compat.v1兼容模塊,它保留了對完整TensorFlow 1的支持。(不包括tf.contrib)。此模塊將在TensorFlow 2的生命周期內進行維護。並將允許使用TensorFlow 1編寫代碼。保持功能。
此外,SavedModels或已存儲的GraphDefs將向後兼容。SavedModels用1.x保存。將繼續加載並在2.x中執行。但是,2.0中的更改將意味著原始檢查點中的變量名可能會更改,因此使用包含已轉換為2.0的代碼的2.0前檢查點並不保證能夠工作。有關詳細信息,請參閱Effective TensorFlow 2.0指南。
我們相信TensorFlow 2.0將給社區帶來巨大的好處,並且我們已經投入了大量的努力使轉換儘可能容易。然而,我們也認識到遷移當前的pipeline需要時間,並且我們非常關心社區在學習和使用TensorFlow方面的當前投資。我們將提供12個月的安全補丁到最後一個1.x。為了給我們現有的用戶足夠的時間進行轉換,並獲得TensorFlow 2.0的所有好處。
TensorFlow 2.0將在今年年初作為公眾預覽版發布。但是為什麼要等呢?你已經可以使用 tf.keras以TensorFlow 2.0的方式進行開發了。keras和即時執行,預打包的模型和部署庫,分布式策略API今天也已經部分可用。
我們對TensorFlow 2.0和即將到來的變化非常興奮。TensorFlow已經從一個用於深度學習的軟體庫成長為一個適用於所有類型ML的完整生態系統。
英文原文:https://medium.com/tensorflow/whats-coming-in-tensorflow-2-0-d3663832e9b8
請長按或掃描二維碼關注本公眾號