1. 程式人生 > >Tensorflow api 修改

Tensorflow api 修改

AttributeError: 'module' object has no attribute 'scalar_summary' tf.scalar_summary('images', images)改為:tf.summary.scalar('images', images) tf.image_summary('images', images)改為:tf.summary.image('images', images) ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=...
, logits=..., ...) cifar10.loss(labels, logits) 改為:cifar10.loss(logits=logits, labels=labels) cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits, dense_labels, name='cross_entropy_per_example') 改為:cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=dense_labels, name='cross_entropy_per_example'
) ValueError: Shapes (2, 128, 1) and () are incompatible concated = tf.concat(1, [indices, sparse_labels])改為:concated = tf.concat([indices, sparse_labels], 1) 重大 API 變動 1、TensorFlow models已經被移動到一個單獨的github庫。 2、除法和模運算子(/,//,%)現在匹配Python(flooring)語義。這也適用於 [tf.div] 和 [tf.mod]。要獲取基於強制整數截斷的行為,可以使用 [tf.truncatediv] 和 [tf.truncatemod]。 3
、現在推薦使用 [tf.divide()] 作為除法函式。[tf.div()] 將保留,但它的語義不會迴應 Python 3 或 [from future] 機制。 4、tf.reverse() 現在取軸的索引要反轉。例如 [tf.reverse(a,[True,False,True])] 現在必須寫為 [tf.reverse(a,[02])]。 [tf.reverse_v2()] 將保持到TensorFlow 1.0 最終版。 5、[tf.mul,tf.sub ] 和 [tf.neg] 不再使用,改為 [tf.multiply],[tf.subtract] 和 [tf.negative]。 6、[tf.pack] 和 [tf.unpack] 棄用,改為 [tf.stack] 和 [tf.unstack]。 7、[TensorArray.pack] 和 [TensorArray.unpack] 在棄用過程中,將來計劃啟用 [TensorArray.stack] 和 [TensorArray.unstack]。 以下Python函式的引數在引用特定域時,全部改為使用 [axis]。目前仍將保持舊的關鍵字引數的相容性,但計劃在 1.0 最終版完成前刪除。 1、tf.listdiff已重新命名為tf.setdiff1d以匹配NumPy命名。 2、tf.inv已被重新命名為tf.reciprocal(元件的倒數),以避免與np.inv的混淆,後者是矩陣求逆。 3、tf.round現在使用banker的舍入(round to even)語義來匹配NumPy。 4、tf.split現在以相反的順序並使用不同的關鍵字接受引數。我們現在將NumPy order 匹配為tf.split(value,num_or_size_splits,axis)。 5、tf.sparse_split現在採用相反順序的引數,並使用不同的關鍵字。我們現在將NumPy order 匹配為tf.sparse_split(sp_input,num_split,axis)。注意:我們暫時要求   tf.sparse_split 需要關鍵字引數。 6、tf.concat現在以相反的順序並使用不同的關鍵字接受引數。特別地,我們現在將NumPy order匹配為tf.concat(values,axis,name)。 7、預設情況下,tf.image.decode_jpeg使用更快的DCT方法,犧牲一點保真度來提高速度。通過指定屬性dct_method ='INTEGER_ACCURATE',可以恢復到舊版行為。 8、tf.complex_abs已從Python介面中刪除。 tf.abs支援複雜張量,現在應該使用 tf.abs。 9、Template.var_scope屬性重新命名為.variable_scope 10、SyncReplicasOptimizer已刪除,SyncReplicasOptimizerV2重新命名為SyncReplicasOptimizer。 11、tf.zeros_initializer()和tf.ones_initializer()現在返回一個必須用initializer引數呼叫的可呼叫值,在程式碼中用tf.zeros_initializer()替換tf.zeros_initializer。 12、SparseTensor.shape已重新命名為SparseTensor.dense_shape。與SparseTensorValue.shape相同。 13、分別替換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名稱範圍。 14、使用tf.summary.FileWriter和tf.summary.FileWriterCache替換tf.train.SummaryWriter和tf.train.SummaryWriterCache。 15、從公共API中刪除RegisterShape。使用C++形狀函式註冊。 16、Python API 中的 _ref dtypes 已經棄用。 17、在C++ API(in tensorflow/cc)中,Input,Output等已經從tensorflow::ops名稱空間移動到tensorflow。 18、將{softmax,sparse_softmax,sigmoid} _cross_entropy_with_logits的arg order更改為(labels,predictions),並強制使用已命名的args。