tensorflow不同版本报错及错误积累

TF 1.0版本与之前版本不同点,大部分是Api版本问题:

1. AttributeError: 'module' object has no attribute 'SummaryWriter'

tf.train.SummaryWriter改为:tf.summary.FileWriter

2. AttributeError: 'module' object has no attribute 'summaries'

 tf.merge_all_summaries()改为:summary_op = tf.summaries.merge_all()

3. AttributeError: 'module' object has no attribute 'histogram_summary'

tf.histogram_summary(var.op.name, var)

改为:  tf.summaries.histogram()

4. AttributeError: 'module' object has no attribute 'scalar_summary'
tf.scalar_summary(l.op.name + ' (raw)', l)

tf.scalar_summary('images', images)改为:tf.summary.scalar('images', images)

tf.image_summary('images', images)改为:tf.summary.image('images', images)

5. 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')

6. TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.

if grad: 改为  if grad is not None:

7. ValueError: Shapes (2, 128, 1) and () are incompatible

concated = tf.concat(1, [indices, sparse_labels])改为:

concated = tf.concat([indices, sparse_labels], 1)

8. AttributeError: module 'tensorflow' has no attribute 'sub'

将 tf.sub  改为  tf.subtract

9. AttributeError: module 'tensorflow' has no attribute 'mul'

将 tf.mul  改为  tf.multiply

 

TF其他错误

1. 解决报错Could not satisfy explicit device specification '' because the node was colocated with a group of nodes that required incompatible device '/device:GPU:0'

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))改为如下:
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
备注:allow_soft_placement=True表示当没有GPU实现可用时,使用将允许TensorFlow回退到CPU。

你可能感兴趣的:(tensorflow)