TensorFlow今天正式發(fā)布了1.5.0版本,支持CUDA 9和cuDNN 7,進(jìn)一步提速。并且,從1.6版本開始,預(yù)編譯二進(jìn)制文件將使用AVX指令,這可能會(huì)破壞老式CPU上的TF。
剛剛,TensorFlow發(fā)布了1.5.0正式版,很多人都期待已久,最重大的改動(dòng)是支持CUDA 9和cuDNN 7,這承諾將使Volta GPUs/FP16上的訓(xùn)練速度翻倍。
此外,Eager execution預(yù)覽版可用,也將吸引不少初學(xué)者。
下面是這次更新的重大變動(dòng)及錯(cuò)誤修復(fù)。
重大變動(dòng)
現(xiàn)在預(yù)編譯的二進(jìn)制文件是針對(duì)CUDA 9和cuDNN 7構(gòu)建的。
從1.6版本開始,預(yù)編譯二進(jìn)制文件將使用AVX指令。這可能會(huì)破壞老式CPU上的TF。
主要特點(diǎn)和改進(jìn)
Eager execution
預(yù)覽版現(xiàn)在可用。
TensorFlow Lite
dev預(yù)覽現(xiàn)在可用。
提供CUDA 9和cuDNN 7支持。
加速線性代數(shù)(XLA):
將complex64支持添加到XLA編譯器。
bfloat支持現(xiàn)在被添加到XLA基礎(chǔ)設(shè)施。
使ClusterSpec propagation與XLA設(shè)備一起工作。
使用決定性執(zhí)行程序來生成XLA圖。
tf.contrib:
tf.contrib.distributions:
添加tf.contrib.distributions.Autoregressive。
使tf.contrib.distributions QuadratureCompound類支持批處理
從參數(shù)中推斷tf.contrib.distributions.RelaxedOneHotCategorical dtype。
使tf.contrib.distributions正交族參數(shù)化為quadrature_grid_and_prob vs quadrature_degree。
auto_correlation添加到tf.contrib.distributions
添加tf.contrib.bayesflow.layers,一個(gè)概率(神經(jīng))層的集合。
添加tf.contrib.bayesflow.halton_sequence。
添加tf.contrib.data.make_saveable_from_iterator。
添加tf.contrib.data.shuffle_and_repeat。
添加新的自定義轉(zhuǎn)換:tf.contrib.data.scan()。
tf.contrib.distributions.bijectors:
添加tf.contrib.distributions.bijectors.MaskedAutoregressiveFlow。
添加tf.contrib.distributions.bijectors.Permute。
添加tf.contrib.distributions.bijectors.Gumbel。
添加tf.contrib.distributions.bijectors.Reshape。
支持形狀推理(即,包含-1的形狀)在Reshape bijector。
添加streaming_precision_recall_at_equal_thresholds,streaming精度計(jì)算方法和 O(num_thresholds +預(yù)測(cè)的大小)時(shí)間和空間的復(fù)雜性。
更改RunConfig默認(rèn)行為,不設(shè)置隨機(jī)種子,使得隨機(jī)行為在分布式Worker上獨(dú)立隨機(jī)。期待這一點(diǎn)普遍提高訓(xùn)練效果。依靠determinism的模型應(yīng)明確設(shè)置一個(gè)隨機(jī)種子。
用absl.flags取代了tf.flags的實(shí)現(xiàn)。
在fp16 GEMM中添加對(duì)CUBLAS_TENSOR_OP_MATH的支持
在NVIDIA Tegra設(shè)備上添加對(duì)CUDA的支持
錯(cuò)誤修復(fù)和其他更改
文檔更新:
說明只能在64位機(jī)器上安裝TensorFlow。
添加了一個(gè)簡(jiǎn)短的文檔,解釋了Estimators如何保存檢查點(diǎn)。
為tf2xla網(wǎng)橋支持的操作添加文檔。
修復(fù)SpaceToDepth和DepthToSpace文檔中的小錯(cuò)別字。
在mfcc_mel_filterbank.h和mfcc.h中更新了文檔注釋,說明輸入域是幅度譜的平方,權(quán)重是在線性幅度譜(輸入的平方)上完成的。
更改tf.contrib.distributions docstring示例以使用tfd別名,而不是ds,bs。
修復(fù)tf.distributions.bijectors.Bijector中的文檔字符串錯(cuò)別字。
tf.assert_equal不再引發(fā)ValueError。現(xiàn)在提出InvalidArgumentError。
更新入門文檔和API介紹。
Google云端存儲(chǔ)(GCS):
為GCS客戶端添加用戶空間DNS緩存。
為GCS文件系統(tǒng)定制請(qǐng)求超時(shí)。
改進(jìn)GCS文件系統(tǒng)緩存。
Bug修復(fù):
修正分區(qū)整型變量得到錯(cuò)誤形狀的問題。
修正Adadelta的CPU和GPU實(shí)現(xiàn)中的correctness bug。
修復(fù)import_meta_graph在處理分區(qū)變量時(shí)的錯(cuò)誤。警告:這可能會(huì)破壞使用帶有非空的import_scope參數(shù)的import_meta_graph后保存的分區(qū)變量的圖形加載檢查點(diǎn)。
修復(fù)離線調(diào)試器中阻止查看事件的錯(cuò)誤。
將WorkerService.DeleteWorkerSession方法添加到gRPC接口來修復(fù)內(nèi)存泄漏。確保主服務(wù)器和工作服務(wù)器運(yùn)行相同版本的TensorFlow,以避免兼容性問題。
修復(fù)BlockLSTM單元的窺視孔peephole實(shí)現(xiàn)中的bug。
通過將dtype的log_det_jacobian轉(zhuǎn)換為與TransformedDistribution中的log_prob匹配來修復(fù)bug。
修復(fù)import_meta_graph在處理分區(qū)變量時(shí)的錯(cuò)誤,確保tf.distributions.Multinomial不會(huì)在log_prob中下溢。在這個(gè)變化之前,整型變量的所有分區(qū)都用未分區(qū)變量的形狀初始化; 在這個(gè)改變之后他們被正確地初始化。
其他
為bfloat16添加必要的形狀util支持。
添加一個(gè)方法來使用MonitoredSession的step函數(shù)運(yùn)行ops。
添加DenseFlipout概率層。
訓(xùn)練時(shí)有一個(gè)新的標(biāo)志ignore_live_threads。如果設(shè)置為True,它會(huì)在成功完成訓(xùn)練后,忽略在拆除基礎(chǔ)架構(gòu)時(shí)仍然運(yùn)行的線程,而不是拋出一個(gè)RuntimeError。
重新標(biāo)準(zhǔn)化DenseVariational作為其他概率的簡(jiǎn)單模板層。
tf.data現(xiàn)在支持?jǐn)?shù)據(jù)集元素中的tf.SparseTensor組件。
現(xiàn)在可以遍歷Tensors。
允許SparseSegmentReduction操作缺少段ID。
修改自定義導(dǎo)出策略以說明多維稀疏浮動(dòng)分割。
Conv2D,Conv2DBackpropInput,Conv2DBackpropFilter現(xiàn)在支持具有GPU和cuDNNv6支持的任意擴(kuò)展。
估算器現(xiàn)在支持?jǐn)?shù)據(jù)集:input_fn可以返回?cái)?shù)據(jù)集,而不是張量。
添加RevBlock,這是可逆殘留層的高效內(nèi)存實(shí)現(xiàn)。
減少BFCAllocator內(nèi)部碎片。
將cross_entropy和kl_divergence添加到tf.distributions.Distribution。
添加啟用反向傳播的tf.nn.softmax_cross_entropy_with_logits_v2w.r.t.標(biāo)簽。
GPU后端現(xiàn)在使用ptxas編譯生成的PTX。
BufferAssignment的協(xié)議緩沖區(qū)轉(zhuǎn)儲(chǔ)現(xiàn)在是確定性的。
將嵌入操作更改為使用DynamicStitch的并行版本。
添加對(duì)稀疏多維特征列的支持。
加快只有1個(gè)值的稀疏浮點(diǎn)列的情況。
允許稀疏浮動(dòng)分割以支持多值特征列。
將分位數(shù)添加到tf.distributions.TransformedDistribution。
在GPU上添加對(duì)tf.depth_to_space的NCHW_VECT_C支持。
在GPU上為tf.space_to_depth添加NCHW_VECT_C支持。
API的更改
在Squeeze操作的C ++ API中將SqueezeDims屬性重命名為Axis。
Stream :: BlockHostUntilDone現(xiàn)在返回Status而不是bool。
次要重構(gòu):將統(tǒng)計(jì)文件從隨機(jī)移動(dòng)到常見并移除隨機(jī)。
-
cpu
+關(guān)注
關(guān)注
68文章
10702瀏覽量
209431 -
TF
+關(guān)注
關(guān)注
0文章
60瀏覽量
33044 -
tensorflow
+關(guān)注
關(guān)注
13文章
327瀏覽量
60413
原文標(biāo)題:TensorFlow正式發(fā)布1.5.0,支持CUDA 9和cuDNN 7,雙倍提速
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論