gpt4 book ai didi

machine-learning - tf.summary.image 收到错误 InvalidArgumentError

转载 作者:行者123 更新时间:2023-11-30 09:52:50 24 4
gpt4 key购买 nike

我已经用 cnn 模型和随机图像训练了我的数据。第一个卷积层定义:

 with tf.name_scope("conv1") as scope:
image = tf.placeholder(tf.float32, [FLAGS.batch_size, 32, 32, 1])
image = tf.reshape(image, [FLAGS.batch_size, 32, 32, 1])
print(image)

w_conv1 = weight_variable([7, 7, 1, 50])
tf.summary.histogram('w_conv1', w_conv1)
conv = tf.nn.conv2d(image, w_conv1, [1, 1, 1, 1], padding='SAME')
b_conv1 = bias_variable([50])
tf.summary.histogram('b_conv1', b_conv1)
conv1 = tf.nn.bias_add(conv, b_conv1)
tf.summary.image('conv1_img',conv1)# **this line get the error**
print('conv1:')
print(conv1)

如果我删除“tf.summary.image('conv1_img',conv1)”行,程序可以成功运行。当我添加这一行时,错误:

tensorflow.python.framework.errors_impl.InvalidArgumentError:您必须为占位符张量“conv1/Placeholder”提供一个v值,dtype float 和形状 [30,32,32,1 ]

发生了,为什么?

最佳答案

您用 tf.summary.image 定义的摘要会自动添加到摘要集合中。

您肯定运行了操作 summaries = tf.summary.merge_all(key='summaries')收集添加到名为 summaries 的集合中的所有摘要(默认摘要集合)。

然后,一旦您在 session 中运行此操作 sess.run(summaries) ,执行之前定义的每个摘要。

直方图摘要仅取决于模型参数值,因此不需要计算任何外部数据。

相反,tf.summary.image('conv1_img',conv1)绘制 conv1 的输出需要计算占位符 ( image ) 的 op。

因此,您应该执行使用图像占位符向图表提供摘要操作:

sess.run(summaries, feed_dict{image: <your image here>}) .

建议:

让占位符成为占位符。随着声明

image = tf.placeholder(tf.float32, [FLAGS.batch_size, 32, 32, 1])
image = tf.reshape(image, [FLAGS.batch_size, 32, 32, 1])

你是

  1. 定义image作为占位符
  2. 覆盖 python image tensorflow 操作的变量。

因此,当您运行时使用 feed_dict参数将图像占位符的值注入(inject)到计算图中,实际上,您覆盖了 tensorflow 操作(因此您必须提供已经 reshape 的值才能使其工作)。

因此,最好让占位符成为占位符:

image_placeholder = tf.placeholder(tf.float32, [FLAGS.batch_size, 32, 32, 1])
image = tf.reshape(image_placeholder, [FLAGS.batch_size, 32, 32, 1])

然后用它来正确地提供图表:

sess.run(<your ops>, feed_dict:{image_placeholder: <your image>})

关于machine-learning - tf.summary.image 收到错误 InvalidArgumentError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com