『TensorFlow』0.x_&_1.x版本框架改動匯總
基本數值運算
除法和模運算符(/,//,%)現在匹配 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版本框架改動匯總