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:
tf.contrib.distributions:
添加tf.contrib.distributions.Autoregressive。
使tf.contrib.distributions QuadratureCompound類支持批處理
從參數中推斷tf.contrib.distributions.RelaxedOneHotCategorical dtype。
使tf.contrib.distributions正交族參數化為quadrature_grid_and_prob vs quadrature_degree。
auto_correlation添加到tf.contrib.distributions
添加tf.contrib.bayesflow.layers,一個概率(神經)層的集合。
添加tf.contrib.bayesflow.halton_sequence。
添加tf.contrib.data.make_saveable_from_iterator。
添加tf.contrib.data.shuffle_and_repeat。
添加新的自定義轉換: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精度計算方法和 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_v2w.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。
次要重構:將統計文件從隨機移動到常見并移除隨機。
-
cpu
+關注
關注
68文章
10854瀏覽量
211587 -
TF
+關注
關注
0文章
61瀏覽量
33097 -
tensorflow
+關注
關注
13文章
329瀏覽量
60528
原文標題:TensorFlow正式發布1.5.0,支持CUDA 9和cuDNN 7,雙倍提速
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論