我正在尝试将一些图片加载到TensorFlow
的{{1}}图表中,但是我希望图表在处理之前将它们转换为灰度图像。
RGB
但是我收到了错误
x = tf.placeholder(tf.float32, shape=[None, 32, 32, 1], name='x')
gray = tf.image.rgb_to_grayscale(x, name='grayscale')
我导出了ValueError: Cannot feed value of shape (250, 32, 32, 3) for Tensor 'x:0', which has shape '(?, 32, 32, 1)'
错误,并将其作为notebook
文件上传到Github,以实现完整性和简洁性。
我意识到错误是因为md
是RGB形状。
但我认为x_batch
会自动进行转化。
由于tf.image.rgb_to_grayscale包含了输入,因此TensorFlow
不应该TF
作为会话的一部分吗?
或者我错过了解它是如何运作的?
答案 0 :(得分:1)
函数tf.image.rgb_to_graycale
需要一个输入张量,其最后一个维度的大小为3.例如,在您的情况下,一组形状为(250, 32, 32, 3)
的图像,或者它可能是一个形状{{ 1}}。
如果您想要提供RGB图像并立即将它们处理为灰度,您可以执行以下操作:
(32, 32, 3)
答案 1 :(得分:0)
错误是因为您希望加载用于RGB2灰度转换的RGB图像,但使用占位符
x = tf.placeholder(tf.float32,shape = [None,32,32,1],name ='x')
x定义为具有一个尺寸,将1更改为3,将消除错误。