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其他错误
【tensorflow不同版本报错及错误积累】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。

    推荐阅读