版本提高后改变
Replace
tf.scalar_summary, tf.histogram_summary,
tf.audio_summary, tf.image_summary with
tf.summary.scalar, tf.summary.histogram,
respectively. The new summary ops take name
meaning summary ops now respect TensorFlow
name scopes.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
对于标量
如果我们想对标量在训练中可视化,可以使用tf.summary.scalar(),比如损失loss:
loss = tf.reduce_mean(tf.reduce_sum(
tf.square(ys-prediction),reduction_indices=[1]))
tf.summary.scalar('loss',loss)
- 1
- 2
- 3
对于参数
应使用tf.summary.histogram(),如全链接的权重:
tf.summary.histogram("/weights",Weights)
- 1
merge并运行
就像变量需要初始化一样,summary也需要merge:
merged = tf.summary.merge_all()
- 1
之后定义一个输出器记录下在运行中的数据:
writer = tf.summary.FileWriter("output/",
sess.graph)
- 1
- 2
最后记得在训练过程中执行这两个模块:
for i in range(1000):
sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
if i%50==0:# 50次记录一次
result = sess.run(merged,
feed_dict={xs:x_data,ys:y_data})
writer.add_summary(result,i)
- 1
- 2
- 3
- 4
- 5
- 6
也就是说,summary独立出来了,以前tf.XXX_summary这样的下划线变成了tf.summary.XXX的格式
1.AttributeError:’module’ object has noattribute ‘random_crop’ ##解决方案: 将 distorted_image= tf.image.random_crop(reshaped_image,[height, width])改为: distorted_image = tf.random_crop(reshaped_image,[height,width,3])
AttributeError:’module’object has no attribute ‘SummaryWriter’ ##解决方案:tf.train.SummaryWriter改为:tf.summary.FileWriter
AttributeError:’module’object has no attribute ‘summaries’ 解决方案: tf.merge_all_summaries()改为:summary_op =tf.summaries.merge_all()
AttributeError: ‘module’ object hasno attribute’histogram_summary tf.histogram_summary(var.op.name,var)改为: tf.summaries.histogram()
AttributeError: ‘module’ object hasno 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)
ValueError: Only call
softmax_cross_entropy_with_logits
withnamed 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’)TypeError: Using a
tf.Tensor
as a Pythonbool
isnot allowed. Useif t is not None:
instead ofif t:
to test if a tensorisdefined, and use TensorFlow ops such as tf.cond to execute subgraphsconditionedon the value of a tensor. ##解决方案: if grad: 改为 if grad is not None:ValueError: Shapes (2, 128, 1) and () are incompatible ###解决方案: concated = tf.concat(1, [indices, sparse_labels])改为: concated= tf.concat([indices, sparse_labels], 1)
报错:(这个暂时没有遇到) File”/home/lily/work/Tensorflow/CIRFAR-10/tensorflow.cifar10-master/cifar10_input.py”,line83, in read_cifar10 result.key, value=reader.read(filename_queue) File”/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/io_ops.py”,line326, in read queue_ref = queue.queue_ref AttributeError: ‘str’ object hasno attribute ‘queue_ref’ ###解决方案: 由于训练样本的路径需要修改,给cifar10_input.py中data_dir赋值为本地数据所在的文件夹 以上参考自 http://blog.csdn.net/xiao_lxl/article/details/70622209
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
</div>