TensorFlow 1.11.0 已正式釋出!

TensorFlowers發表於2018-09-29

來源 | TensorFlow 公眾號

TensorFlow 1.11.0 版本正式釋出啦!

本文將為大家介紹此版本的一些重大改變、主要功能和改進、Bug 修復以及其他變化。

主要特點和改進

Nvidia GPU:

  • 現在(根據 TensorFlow 1.11)預構建的二進位制檔案是針對 cuDNN 7.2 和 TensorRT 4 構建的。請檢視升級的安裝指南:Installing TensorFlow on Ubuntu(www.tensorflow.org/install/ins…

Google Cloud TPU:

  • 針對 Google Cloud TPU 上的 Keras 的實驗性 tf.data 整合
  • 在 Google Cloud TPU 上對 Eager Execution 進行試驗性/預覽支援

分散式策略:

  • 為 tf.keras 新增 multi-GPU 分散式策略支援。fit,evaluate,predict 開始支援分散式
  • 在 Estimator 中新增 multi-worker 的分散式策略支援和獨立客戶端支援。 檢視 [README] (github.com/tensorflow/…) 瞭解更多細節

新增 C, C++, 和 Python 函式來查詢核心

重大改變

Keras:

  • tf.keras 的 RandomUniform,RandomNormal 和 TruncatedNormal 初始化程式的預設值已更改,以保證與外部 Keras 中的預設值相匹配
  • 重大改變:執行 Sequential 模型的 model.get_config() 方法,現在返回 config dictionary(與其他模型例項保持一致),不再返回基礎層的配置列表

Bug 修復以及其他變化

C++:

  • 更改了 SessionFactory::NewSession 的簽名,使其能夠對錯誤給出詳細的資訊

tf.data:

  • tf.contrib.data.make_csv_dataset() 去除了 num_parallel_parser_calls 引數
  • 如果引數沒有匹配的檔案,則 tf.data.Dataset.list_files() 在初始化時會報異常
  • 為了清晰起見,將 BigTable 類別重新命名為 BigtableTable
  • 記錄 Cloud Bigtable API 的使用情況
  • 新增 tf.contrib.data.reduce_dataset,可用於將資料集減少到單個元素
  • 泛化 tf.contrib.data.sliding_window_batch

INC:

  • 對三角求解進行了執行上的改進

tf.contrib:

  • 為 tf.keras.layers.LocallyConnected2D 和 tf.keras.layers.LocallyConnected1D 新增了 implementation 引數。 新模式(implementation = 2)在執行前向傳播時以單個密集矩陣的乘積來進行,這在某些場景下會帶來顯著加速(但在某些場景下可能會導致效能降低 - 請參閱 docstring)。 該選項還允許使用 padding = same

  • 新增了新文件來說明 tf.fill 和 tf.constant 之間差異

  • 實驗性地新增了 IndexedDatasets

  • 使用 lite proto 執行時新增選擇性註冊目標

  • 為 TensorFlow Lite Java 新增簡單的 Tensor 和 DataType 類別

  • 新增對 uint32 和 uint64 的 bitcasting 的支援

  • 新增了一個 Estimator 子類,該子類可以從SavedModel(SavedModelEstimator)建立

  • 新增葉形索引模式作為引數

  • 從 tf.contrib.image.transform 的輸入中允許不同的輸出形狀

  • 將 StackedRNNCell 的 state_size 順序更改為自然順序。為保持現有行為,使用者可以在構造 StackedRNNCell 時新增 reverse_state_order = True

  • 棄用 self.test_session(),以支援 self.session() 或 self.cached_session()

  • 直接匯入 tensor.proto.h(傳遞匯入將很快從 tensor.h 中刪除)

  • Estimator.train() 現在支援開箱即用的 tf.contrib.summary。* 每次呼叫.train() 現在都會建立一個單獨的 tfevents 檔案,不再重新使用共享檔案

  • 修復 FTRL 優化器 L2 的收縮效能:L2 收縮項的梯度不應該在累加器中終止

  • 修復 toco 在 Windows 上編譯/執行的 bug

  • 新增了 GoogleZoneProvider 類別,以檢測 TensorFlow 程式的各部分在 Google Cloud Engine 執行的位置

  • 現在可以安全地在 nullptr 上呼叫任何 C API 的 TF_Delete * 函式

  • 將 Android 上的一些錯誤資訊記錄到日誌

  • 匹配 TFLite 中的 FakeQuant 數字,以提高 TFLite 量化推理模型的準確性

  • GCS 檔案系統的可選儲存桶位置檢查

  • StringSplitOp 和 StringSplitV2Op 的效能得到加強

  • 正規表示式替換操作的效能得到提高

  • 如果 if.write() 失敗,TFRecordWriter 現在會報錯

  • TPU:TPUClusterResolvers 叢集解析器將會提供更詳細有用的錯誤訊息

  • 不推薦使用 SavedModelBuilder 方法新增 MetaGraphs 的 legacy_init_op 引數。 請改用等效的 main_op 引數。我們現在在構建 SavedModel 時明確會檢查單個 main_op 或 legacy_init_op,而在以前對 main_op 的檢查僅在載入時進行

  • 現在可以在 RunConfig 中配置用於 Estimator 培訓的協議

  • 三角數的求解效能得到提高

  • 將 TF 和 Keras 的 RNN 單元的 API 進行了統一。為 Keras 和 TF 的 RNN 單元新增了新的 get_initial_state() 方法,這個方法未來將替代現有的 zero_state() 方法

  • 更新了 Keras 中變數的初始化

  • 在 tensorflow / contrib 中更新 “constrained_optimization”

  • 提升樹演算法:新增修剪模式

  • tf.train.Checkpoint 預設情況下不刪除舊的檢查點

  • tfdbg:除錯時,快取的 Tensor 資料所佔用的磁碟空間上限為 100 GB。 允許新增環境變數 TFDBG_DISK_BYTES_LIMIT 來調整此上限值

感謝我們的貢獻者

本次的釋出離不開 Google 以下許多同仁的貢獻: Aapeli, adoda, Ag Ramesh, Amogh Mannekote, Andrew Gibiansky, Andy Craze, Anirudh Koul, Aurelien Geron, Avijit, Avijit-Nervana, Ben, Benjamin H. Myara, bhack, Brett Koonce,張天啟, 張曉飛......

最後,請大家點選 “www.tensorflowers.cn/t/6838”,檢視完…

相關文章