writer.add_summary异常处理
Tensorflow: You must feed a value for placeholder tensor 'inputs/y_input' with dtype float and shape
从字面理解是:你必须给占位符y_input喂入一个向量值即赋值,看下面代码:
writer = tf.summary.FileWriter("logs/",sess.graph)#损失函数tf.summary.scalar('loss',loss)#合并图表信息:自动管理summarymerged = tf.summary.merge_all()#将图表写到文件中writer = tf.summary.FileWriter("logs/",sess.graph)sess.run(tf.global_variables_initializer())for step in range(1000):sess.run(train_step,feed_dict={x:x_data,y:y_data})if step % 50 == 0:result = sess.run(merged,feed_dict={x:x_data,y:y_data})writer.add_summary(result,step)
这里只是想损失函数loss通过tensorboard显示出来而已,并且字典表也正常赋值了:
result = sess.run(merged,feed_dict={x:x_data,y:y_data})
一切都很正常,想来想去感觉这个函数应该可以采用其他方式替换:
merged = tf.summary.merge_all()
这是tensorflow提供的合并所有summary信息的api,但是我只是想合并损失函数loss的summary,好吧,那我就单独来设置它,修改代码如下:
#损失函数,注意这里我用一个向量保存了loss的summary信息scalar_loss = tf.summary.scalar('loss',loss)#合并图表信息:自动合并所有summarymerged = tf.summary.merge_all()#将图表写到文件中writer = tf.summary.FileWriter("logs/",sess.graph)sess.run(tf.global_variables_initializer())for step in range(1000):sess.run(train_step,feed_dict={xs:x_data,ys:y_data})if step % 50 == 0:result_loss = sess.run(scalar_loss,feed_dict={x:x_data,y:y_data})#这里修改成单独生成result_losswriter.add_summary(result_loss,step)
运行测试,一切终于正常了,不管重复运行多少次都可以生成想要的报告。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
