谷歌TensorFlow 2.2.0正式發(fā)布:道別Python 2,擁抱Python 3
TensorFlow 2.2.0 正式發(fā)布了,該版本終止了對(duì) Python 2 的支持?,F(xiàn)在,新的 TensorFlow Docker 鏡像版本僅提供 Python 3。
主要特性和改進(jìn)· 將字符串張量的標(biāo)量類型從 std::string 替換為 tensorflow::tstring
· TF 2 的新 Profiler,用于 CPU/GPU/TPU。它提供設(shè)備和主機(jī)性能分析,包括輸入管道和 TF Ops。
· 不推薦使用 SWIG,而是使用 pybind11 將 C++ 函數(shù)導(dǎo)出到 Python,這是棄用 Swig 所作努力的一部分。
· tf.distribute:
通過使用新添加的 tf.keras.layers.experimental.SyncBatchNormalization 層,添加了對(duì)全局同步 BatchNormalization 的支持。該層將在參與同步訓(xùn)練的所有副本之間同步 BatchNormalization 統(tǒng)計(jì)信息。
使用 tf.distribute.experimental.MultiWorkerMirroredStrategy 提高 GPU 多工分布式培訓(xùn)的性能
將 NVIDIA NCCL 更新到 2.5.7-1,以獲得更好的性能和性能調(diào)整。
支持在 float16 中減少梯度。
所有實(shí)驗(yàn)的支持都減少了梯度壓縮,以允許使用反向路徑計(jì)算進(jìn)行重疊梯度聚合。
棄用 experimental_run_v2 方法。
添加對(duì) DistributedIterators 的 CompositeTensor 支持。這應(yīng)該有助于防止不必要的功能跟蹤和內(nèi)存泄漏。
· tf.keras:
Model.fit 的主要改進(jìn):
可以通過覆蓋 Model.train_step 將自定義訓(xùn)練邏輯與 Model.fit 結(jié)合使用。
輕松編寫最新的培訓(xùn)循環(huán),而不必?fù)?dān)心 Model.fit 為你處理的所有功能(分發(fā)策略,回調(diào),數(shù)據(jù)格式,循環(huán)邏輯等)
SavedModel 現(xiàn)在使用其自己的 Model._saved_model_inputs_spec attr 而不是依賴于不再為子類 Model 設(shè)置的 Model.inputs 和 Model.input_names。
生成器支持動(dòng)態(tài)形狀。
現(xiàn)在,SavedModel 格式支持所有 Keras 內(nèi)置層(包括指標(biāo),預(yù)處理層和有狀態(tài) RNN 層)。
更新 Keras 批處理規(guī)范化層,以使用 fused_batch_norm 中的運(yùn)行平均值和平均值計(jì)算。
· tf.lite:
默認(rèn)情況下啟用 TFLite 實(shí)驗(yàn)性新轉(zhuǎn)換器。
· XLA
XLA 現(xiàn)在可以在 Windows 上構(gòu)建并運(yùn)行。所有預(yù)構(gòu)建的軟件包都隨附有 XLA。
可以在 CPU 和 GPU 上使用“編譯或拋出異?!闭Z(yǔ)義為 tf.function 啟用 XLA。
新版本包含大量 bug 修復(fù)等,詳情可見更新說明:
https://github.com/tensorflow/tensorflow/releases/tag/v2.2.0