TensorFlow 2.1.0 正式發布了,TensorFlow 2.1 是支持 Python 2 的最后一個 TF 版本。
主要特性和改進如下:
tensorflow pip 軟件包現在默認包括針對 Linux 和 Windows 的 GPU 支持(與 tensorflow-gpu 相同)。它可以在帶有和不帶有 NVIDIA GPU 的機器上運行。tensorflow-gpu 仍然可用,對于關心軟件包大小的用戶,可以在 tensorflow-cpu 上下載僅 CPU 的軟件包。
Windows 用戶:為了利用新的 /d2ReducedOptimizeHugeFunctions 編譯器標志,現在使用 Visual Studio 2019 版本 16.4 構建了正式發布的 tensorflow Pip 程序包。要使用這些新程序包,必須安裝 “Visual Studio 2015、2017 和 2019 的 Microsoft Visual C++ 可再發行組件”。
這不會更改在 Windows 上從源代碼構建 TensorFlow 所需的最低版本,但是在沒有此標志的情況下,啟用 EIGEN_STRONG_INLINE 的構建可能需要超過48 個小時才能進行編譯。
如果你的計算機上缺少必需的 DLL,msvcp140.dll(舊)或 msvcp140_1.dll(新)之一,則導入 tensorflow 將顯示警告消息。
tensorflow pip 軟件包使用 CUDA 10.1 和 cuDNN 7.6 構建。
tf.keras
GPU 和 Cloud TPU 提供了對混合精度的實驗支持。
引入了 TextVectorization 層,該層將原始字符串作為輸入,并負責文本標準化、標記化、n-gram 生成和詞匯索引。
只要在范圍內構建模型,就可以將 Keras .compile .fit .evaluate 和 .predict 置于 DistributionStrategy 范圍之外。
對于所有類型的 Keras 模型(順序模型、功能模型和子類模型)、Cloud TPU、Cloud TPU 均可提供 Keras .compile,.fit,.evaluate 和 .predict 的實驗支持。
為云 TPU 啟用了自動外部編譯。這使得 tf.summary 可以更方便地與 Cloud TPU 一起使用。
Cloud TPU 支持帶有 DistributionStrategy 和 Keras 的動態批量大小。
除了 tf.data.Dataset 之外,還使用 numpy 數據在 TPU 上支持 .fit,.evaluate,.predict。
TensorFlow Model Garden 提供了許多流行模型的 Keras 參考實現。
tf.data
更改 tf.data 數據集的重新編錄+分發策略以提高性能。請注意,數據集的行為也略有不同,因為重新標記的數據集基數將始終是副本數的倍數。
tf.data.Dataset現在支持在分布式環境中(包括在 TPU 容器上)自動進行數據分發和分片。
現在可以這樣調整 tf.data.Dataset 的分發策略:1.tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA)2.tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)
添加了環境變量 TF_DETERMINISTIC_OPS。當設置為 “true” 或 “1” 時,此環境變量使 tf.nn.bias_add 確定性地(即可重復地)運行,但當前僅當未啟用 XLA JIT 編譯時才運行。這使得 Keras Conv*D 和 MaxPool*D 層在啟用 CUDA 的 GPU 上運行時可確定地在向前和向后兩個方向上運行。
詳情見更新說明:
https://github.com/tensorflow/tensorflow/releases/tag/v2.1.0