1. 程式人生 > >『TensorFlow』0.x_&_1.x版本框架改動匯總

『TensorFlow』0.x_&_1.x版本框架改動匯總

rate all sop 混淆 rsh rar 引用 future pes

基本數值運算

  • 除法和模運算符(/,//,%)現在匹配 Python(flooring)語義。這也適用於 [tf.div] 和 [tf.mod]。要獲取基於強制整數截斷的行為,可以使用 [tf.truncatediv] 和 [tf.truncatemod]。

  • 現在推薦使用 [tf.divide()] 作為除法函數。[tf.div()] 將保留,但它的語義不會回應 Python 3 或 [from future] 機制

  • [tf.mul,tf.sub ] 和 [tf.neg] 不再使用,改為 [tf.multiply],[tf.subtract] 和 [tf.negative]。
  • tf.complex_abs已從Python界面中刪除。 tf.abs支持復雜張量,現在應該使用 tf.abs。

tensorboard相關

  • 分別替換tf.scalar_summary,tf.histogram_summary,tf.audio_summary,tf.image_summary與tf.summary.scalar,tf.summary.histogram,tf.summary.audio,tf.summary.image。新的摘要ops以名字而不是標簽作為它們的第一個參數,意味著摘要ops現在尊重TensorFlow名稱範圍。

  • 使用tf.summary.FileWriter和tf.summary.FileWriterCache替換tf.train.SummaryWriter和tf.train.SummaryWriterCache。

參數名修改

以下Python函數的參數在引用特定域時,全部改為使用 [axis]。目前仍將保持舊的關鍵字參數的兼容性,但計劃在 1.0 最終版完成前刪除。

  • tf.argmax: dimension 變為 axis

  • tf.argmin: dimension 變為 axis

  • tf.count_nonzero: reduction_indices 變為 axis

  • tf.expand_dims: dim 變為 axis

  • tf.reduce_all: reduction_indices 變為 axis

  • tf.reduce_any: reduction_indices 變為 axis

  • tf.reduce_join: reduction_indices 變為 axis

  • tf.reduce_logsumexp: reduction_indices 變為 axis

  • tf.reduce_max: reduction_indices 變為 axis

  • tf.reduce_mean: reduction_indices 變為 axis

  • tf.reduce_min: reduction_indices 變為 axis

  • tf.reduce_prod: reduction_indices 變為 axis

  • tf.reduce_sum: reduction_indices 變為 axis

  • tf.reverse_sequence: batch_dim 變為 batch_axis, seq_dim 變為 seq_axis

  • tf.sparse_concat: concat_dim 變為 axis

  • tf.sparse_reduce_sum: reduction_axes 變為 axis

  • tf.sparse_reduce_sum_sparse: reduction_axes 變為 axis

  • tf.sparse_split: split_dim 變為 axis

其他

其他暫時接觸不多的API修改

  • TensorFlow / models已經被移動到一個單獨的github庫。

  • tf.reverse() 現在取軸的索引要反轉。例如 [tf.reverse(a,[True,False,True])] 現在必須寫為 [tf.reverse(a,[0,2])]。 [tf.reverse_v2()] 將保持到 TensorFlow 1.0 最終版。

  • [tf.pack] 和 [tf.unpack] 棄用,改為 [tf.stack] 和 [tf.unstack]。

  • [TensorArray.pack] 和 [TensorArray.unpack] 在棄用過程中,將來計劃啟用 [TensorArray.stack] 和 [TensorArray.unstack]。

  • tf.listdiff 已重命名為 tf.setdiff1d 以匹配 NumPy 命名。

  • tf.inv 已被重命名為 tf.reciprocal(組件的倒數),以避免與 np.inv 的混淆,後者是矩陣求逆。

  • tf.round 現在使用 banker 的舍入(round to even)語義來匹配 NumPy。

  • tf.split現在以相反的順序並使用不同的關鍵字接受參數。我們現在將NumPy order 匹配為tf.split(value,num_or_size_splits,axis)。

  • tf.sparse_split現在采用相反順序的參數,並使用不同的關鍵字。我們現在將NumPy order 匹配為tf.sparse_split(sp_input,num_split,axis)。註意:我們暫時要求 tf.sparse_split 需要關鍵字參數。

  • tf.concat現在以相反的順序並使用不同的關鍵字接受參數。特別地,我們現在將NumPy order匹配為tf.concat(values,axis,name)。

  • 默認情況下,tf.image.decode_jpeg使用更快的DCT方法,犧牲一點保真度來提高速度。通過指定屬性dct_method =‘INTEGER_ACCURATE‘,可以恢復到舊版行為。

  • Template.var_scope屬性重命名為.variable_scope

  • SyncReplicasOptimizer已刪除,SyncReplicasOptimizerV2重命名為SyncReplicasOptimizer。

  • tf.zeros_initializer()和tf.ones_initializer()現在返回一個必須用initializer參數調用的可調用值,在代碼中用tf.zeros_initializer()替換tf.zeros_initializer。

  • SparseTensor.shape已重命名為SparseTensor.dense_shape。與SparseTensorValue.shape相同。

  • 從公共API中刪除RegisterShape。使用C++形狀函數註冊。

  • Python API 中的 _ref dtypes 已經棄用。

  • 在C++ API(in tensorflow/cc)中,Input,Output等已經從tensorflow::ops命名空間移動到tensorflow。

  • 將{softmax,sparse_softmax,sigmoid} _cross_entropy_with_logits的arg order更改為(labels,predictions),並強制使用已命名的args。

『TensorFlow』0.x_&_1.x版本框架改動匯總