「開源資訊」TensorFlow 2.2.0 正式發佈,終止對Python 2 的支持

簡介

TensorFlow 是谷歌的第二代機器學習系統,按照谷歌所說,在某些基準測試中,TensorFlow的表現比第一代的DistBelief快了2倍。

TensorFlow 內建深度學習的擴展支持,任何能夠用計算流圖形來表達的計算,都可以使用TensorFlow。任何基於梯度的機器學習算法都能夠受益於TensorFlow的自動分 化(auto-differentiation)。通過靈活的Python接口,要在TensorFlow中表達想法也會很容易。

發佈內容

TensorFlow 2.2.0 正式發佈了,該版本終止了對 Python 2 的支持。現在,新的 TensorFlow Docker 鏡像版本僅提供 Python 3。

主要特性和改進

  • 將字符串張量的標量類型從 std::string 替換為 tensorflow::tstring
  • TF 2 的新 Profiler,用於 CPU/GPU/TPU。它提供設備和主機性能分析,包括輸入管道和 TF Ops。
  • 不推薦使用 SWIG,而是使用 pybind11 將 C++ 函數導出到 Python,這是棄用 Swig 所作努力的一部分。
  • tf.distribute:通過使用新添加的 tf.keras.layers.experimental.SyncBatchNormalization 層,添加了對全局同步 BatchNormalization 的支持。該層將在參與同步訓練的所有副本之間同步 BatchNormalization 統計信息。使用 tf.distribute.experimental.MultiWorkerMirroredStrategy 提高 GPU 多工分佈式培訓的性能將 NVIDIA NCCL 更新到 2.5.7-1,以獲得更好的性能和性能調整。支持在 float16 中減少梯度。所有實驗的支持都減少了梯度壓縮,以允許使用反向路徑計算進行重疊梯度聚合。棄用 experimental_run_v2 方法。添加對 DistributedIterators 的 CompositeTensor 支持。這應該有助於防止不必要的功能跟蹤和內存洩漏。
  • tf.keras:Model.fit 的主要改進:可以通過覆蓋 Model.train_step 將自定義訓練邏輯與 Model.fit 結合使用。輕鬆編寫最新的培訓循環,而不必擔心 Model.fit 為你處理的所有功能(分發策略,回調,數據格式,循環邏輯等)SavedModel 現在使用其自己的 Model._saved_model_inputs_spec attr 而不是依賴於不再為子類 Model 設置的 Model.inputs 和 Model.input_names。生成器支持動態形狀。現在,SavedModel 格式支持所有 Keras 內置層(包括指標,預處理層和有狀態 RNN 層)。更新 Keras 批處理規範化層,以使用 fused_batch_norm 中的運行平均值和平均值計算。
  • tf.lite:默認情況下啟用 TFLite 實驗性新轉換器。
  • XLAXLA 現在可以在 Windows 上構建並運行。所有預構建的軟件包都隨附有 XLA。可以在 CPU 和 GPU 上使用“編譯或拋出異常”語義為 tf.function 啟用 XLA。


分享到:


相關文章: