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)

    #合并图表信息:自动管理summary

    merged = 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)

    #合并图表信息:自动合并所有summary

    merged = 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_loss
            writer.add_summary(result_loss,step)

运行测试,一切终于正常了,不管重复运行多少次都可以生成想要的报告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值