當前位置:
首頁 > 新聞 > TensorFlow正式發布1.5.0,支持CUDA 9和cuDNN 7,雙倍提速

TensorFlow正式發布1.5.0,支持CUDA 9和cuDNN 7,雙倍提速

新智元編譯

來源:Github

編譯:費欣欣

【新智元導讀】TensorFlow今天正式發布了1.5.0版本,支持CUDA 9和cuDNN 7,進一步提速。並且,從1.6版本開始,預編譯二進位文件將使用AVX指令,這可能會破壞老式CPU上的TF。

剛剛,TensorFlow發布了1.5.0正式版,很多人都期待已久,最重大的改動是支持CUDA 9和cuDNN 7,這承諾將使Volta GPUs/FP16上的訓練速度翻倍。

此外,Eager execution預覽版可用,也將吸引不少初學者。

下面是這次更新的重大變動及錯誤修復。

重大變動

現在預編譯的二進位文件是針對CUDA 9和cuDNN 7構建的。

從1.6版本開始,預編譯二進位文件將使用AVX指令。這可能會破壞老式CPU上的TF。

主要特點和改進

Eager execution

預覽版現在可用。

TensorFlow Lite

dev預覽現在可用。

提供CUDA 9和cuDNN 7支持。

加速線性代數(XLA):

將complex64支持添加到XLA編譯器。

bfloat支持現在被添加到XLA基礎設施。

使ClusterSpec propagation與XLA設備一起工作。

使用決定性執行程序來生成XLA圖。

tf.contrib:

添加streaming_precision_recall_at_equal_thresholds,streaming精度計算方法和 O(num_thresholds +預測的大小)時間和空間的複雜性。

更改RunConfig默認行為,不設置隨機種子,使得隨機行為在分散式Worker上獨立隨機。期待這一點普遍提高訓練效果。依靠determinism的模型應明確設置一個隨機種子。

用absl.flags取代了tf.flags的實現。

在fp16 GEMM中添加對CUBLAS_TENSOR_OP_MATH的支持

在NVIDIA Tegra設備上添加對CUDA的支持

錯誤修復和其他更改

文檔更新:

說明只能在64位機器上安裝TensorFlow。

添加了一個簡短的文檔,解釋了Estimators如何保存檢查點。

為tf2xla網橋支持的操作添加文檔。

修復SpaceToDepth和DepthToSpace文檔中的小錯別字。

在mfcc_mel_filterbank.h和mfcc.h中更新了文檔注釋,說明輸入域是幅度譜的平方,權重是在線性幅度譜(輸入的平方)上完成的。

更改tf.contrib.distributions docstring示例以使用tfd別名,而不是ds,bs。

修復tf.distributions.bijectors.Bijector中的文檔字元串錯別字。

tf.assert_equal不再引發ValueError。現在提出InvalidArgumentError。

更新入門文檔和API介紹。

Google雲端存儲(GCS):

為GCS客戶端添加用戶空間DNS緩存。

為GCS文件系統定製請求超時。

改進GCS文件系統緩存。

Bug修復:

修正分區整型變數得到錯誤形狀的問題。

修正Adadelta的CPU和GPU實現中的correctness bug。

修復import_meta_graph在處理分區變數時的錯誤。警告:這可能會破壞使用帶有非空的import_scope參數的import_meta_graph後保存的分區變數的圖形載入檢查點。

修復離線調試器中阻止查看事件的錯誤。

將WorkerService.DeleteWorkerSession方法添加到gRPC介面來修復內存泄漏。確保主伺服器和工作伺服器運行相同版本的TensorFlow,以避免兼容性問題。

修復BlockLSTM單元的窺視孔peephole實現中的bug。

通過將dtype的log_det_jacobian轉換為與TransformedDistribution中的log_prob匹配來修復bug。

修復import_meta_graph在處理分區變數時的錯誤,確保tf.distributions.Multinomial不會在log_prob中下溢。在這個變化之前,整型變數的所有分區都用未分區變數的形狀初始化; 在這個改變之後他們被正確地初始化。

其他

為bfloat16添加必要的形狀util支持。

添加一個方法來使用MonitoredSession的step函數運行ops。

添加DenseFlipout概率層。

訓練時有一個新的標誌ignore_live_threads。如果設置為True,它會在成功完成訓練後,忽略在拆除基礎架構時仍然運行的線程,而不是拋出一個RuntimeError。

重新標準化DenseVariational作為其他概率的簡單模板層。

tf.data現在支持數據集元素中的tf.SparseTensor組件。

現在可以遍歷Tensors。

允許SparseSegmentReduction操作缺少段ID。

修改自定義導出策略以說明多維稀疏浮動分割。

Conv2D,Conv2DBackpropInput,Conv2DBackpropFilter現在支持具有GPU和cuDNNv6支持的任意擴展。

估算器現在支持數據集:input_fn可以返回數據集,而不是張量。

添加RevBlock,這是可逆殘留層的高效內存實現。

減少BFCAllocator內部碎片。

將cross_entropy和kl_divergence添加到tf.distributions.Distribution。

添加啟用反向傳播的tf.nn.softmax_cross_entropy_with_logits_v2 w.r.t.標籤。

GPU後端現在使用ptxas編譯生成的PTX。

BufferAssignment的協議緩衝區轉儲現在是確定性的。

將嵌入操作更改為使用DynamicStitch的並行版本。

添加對稀疏多維特徵列的支持。

加快只有1個值的稀疏浮點列的情況。

允許稀疏浮動分割以支持多值特徵列。

將分位數添加到tf.distributions.TransformedDistribution。

在GPU上添加對tf.depth_to_space的NCHW_VECT_C支持。

在GPU上為tf.space_to_depth添加NCHW_VECT_C支持。

API的更改

在Squeeze操作的C ++ API中將SqueezeDims屬性重命名為Axis。

Stream :: BlockHostUntilDone現在返回Status而不是bool。

次要重構:將統計文件從隨機移動到常見並移除隨機。

貢獻者致謝

照例,每次新版發布都離不開那些雖然不是TF團隊,但積極工作並作出貢獻的開發者,谷歌TensorFlow對下面的開發者致謝,能看到不少中國名字:

Adam Zahran, Ag Ramesh, Alan Lee, Alan Yee, Alex Sergeev, Alexander, Amir H. Jadidinejad,Amy, Anastasios Doumoulakis, Andrei Costinescu, Andrei Nigmatulin, Anthony Platanios,Anush Elangovan, arixlin, Armen Donigian, Art?M Sobolev, Atlas7, Ben Barsdell, Bill Prin,Bo Wang, Brett Koonce, Cameron Thomas, Carl Thomé, Cem Eteke, cglewis, Changming Sun,Charles Shenton, Chi-Hung, Chris Donahue, Chris Filo Gorgolewski, Chris Hoyean Song,Chris Tava, Christian Grail, Christoph Boeddeker, cinqS, Clayne Robison, codrut3, concerttttt,CQY, Dan Becker, Dan Jarvis, Daniel Zhang, David Norman, dmaclach, Dmitry Trifonov,Donggeon Lim, dongpilYu, Dr. Kashif Rasul, Edd Wilder-James, Eric Lv, fcharras, Felix Abecassis,FirefoxMetzger, formath, FredZhang, Gaojin Cao, Gary Deer, Guenther Schmuelling, Hanchen Li,Hanmin Qin, hannesa2, hyunyoung2, Ilya Edrenkin, Jackson Kontny, Jan, Javier Luraschi,Jay Young, Jayaram Bobba, Jeff, Jeff Carpenter, Jeremy Sharpe, Jeroen BéDorf, Jimmy Jia,Jinze Bai, Jiongyan Zhang, Joe Castagneri, Johan Ju, Josh Varty, Julian Niedermeier,JxKing, Karl Lessard, Kb Sriram, Keven Wang, Koan-Sin Tan, Kyle Mills, lanhin, LevineHuang,Loki Der Quaeler, Loo Rong Jie, Luke Iwanski, LáSzló Csomor, Mahdi Abavisani, Mahmoud Abuzaina,ManHyuk, Marek ?Uppa, MathSquared, Mats Linander, Matt Wytock, Matthew Daley, Maximilian Bachl,mdymczyk, melvyniandrag, Michael Case, Mike Traynor, miqlas, Namrata-Ibm, Nathan Luehr,Nathan Van Doorn, Noa Ezra, Nolan Liu, Oleg Zabluda, opensourcemattress, Ouwen Huang,Paul Van Eck, peisong, Peng Yu, PinkySan, pks, powderluv, Qiao Hai-Jun, Qiao Longfei,Rajendra Arora, Ralph Tang, resec, Robin Richtsfeld, Rohan Varma, Ryohei Kuroki, SaintNazaire,Samuel He, Sandeep Dcunha, sandipmgiri, Sang Han, scott, Scott Mudge, Se-Won Kim, Simon Perkins,Simone Cirillo, Steffen Schmitz, Suvojit Manna, Sylvus, Taehoon Lee, Ted Chang, Thomas Deegan,Till Hoffmann, Tim, Toni Kunic, Toon Verstraelen, Tristan Rice, Urs K?Ster, Utkarsh Upadhyay,Vish (Ishaya) Abrams, Winnie Tsang, Yan Chen, Yan Facai (顏發才), Yi Yang, Yong Tang,Youssef Hesham, Yuan (Terry) Tang, Zhengsheng Wei, zxcqwe4906, 張志豪, 田傳武

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

滴滴成立AI Labs 滴滴副總裁葉傑平教授領軍

TAG:新智元 |