Tensorflow 更新到1.0後,函式變化
1.grammary系列函式修改
-
tf.histogram_summary() 和 tf.contrib.deprecated.histogram_summary() 修改為 tf.summary.histogram()
-
tf.scalar_summary() 和 tf.contrib.deprecated.scalar_summary() 修改為 tf.summary.scalar()
-
tf.image_summary() 修改為 tf.summary.image()
-
tf.merge_summary() 修改為 tf.summary.merge()
-
tf.merge_all_summaries() 修改為 tf.summary.merge_all()
-
tf.train.SummaryWriter 修改為 tf.summary.FileWriter()
2.計算函式修改
-
tf.sub() 修改為 tf.subtract()
-
tf.mul() 修改為 tf.multiply()
-
tf.div() 修改為 tf.divide()
-
tf.mod() 修改為 tf.truncatemod()
-
tf.inv() 修改為 tf.reciprocal()
-
tf.list_diff() 修改為 tf.setdiff1d()
-
tf.listdiff() 修改為 tf.setdiff1d()
-
tf.neg() 修改為 tf.negative()
-
tf.select() 修改為 tf.where()
3.定義變數修改
- tf.variables() 修改為 tf.gobal_variables()
- tf.all_variables() 修改為 tf.global_variables()
- tf.initialize_all_variables() 修改為 tf.global_variables_initializer()
- tf.initialize_local_variables() 修改為 tf.local_variables_initializer()
- tf.initialize_variables() 修改為 tf.variables_initializer()
4.函式的引數修改
-
tf.nn.softmax_cross_entropy_with_logits(labels, logits)
修改為 tf.nn.softmax_cross_entropy_with_logits(logits=logits,labels=labels)
-
.loss(labels, logits) 修改為 .loss(logits=logits,labels=labels)
-
tf.concat(concat_dim, values, name='concat')引數:1.concat_dim:一個整數,表示在哪一位度進行連線;2.values:是兩個或者一組待連線的tensor;改變後的函式為concat(values,axis,name='concat'),很顯然是將前兩個引數掉換了位置。(tf.concat(a,b) 修改為 tf.concat(b,a))
-
tf.split(dimension, num_split, input):dimension是切割維度,num_split是切割的數量,input是傳入需要切割的tensor。改變後的函式為tf.split( value, num_or_size_splits, axis=0)
value
是傳入需要切割的tensor,num_or_size_splits
是切割的數量,axis
是切割維度。 所以需要將原來split的引數1和引數3換位置。(tf.split(a,b,c)修改為 tf.split(c,b,a))
5.其他修改
- tf.image.random_crop() 修改為 tf.random_crop()
- tf.image.per_image_whitening() 修改為 tf.image.per_image_standardization()
6.TypeError: Using a `tf.Tensor` as a Python `bool` isnot allowed. Use `if t is not None:` instead of `if t:` to test if a tensor isdefined, and use TensorFlow ops such as tf.cond to execute subgraphsconditioned on the value of a tensor.
這裡的原因是tensorflow的tensor不再是可以直接作為bool值來使用了,需要進行判斷。
如:if grad: 改為 if grad is not None:
參考部落格: