Numpy 将图像馈送到TensorFlow图形时出错
我正在尝试将一些图像加载到Numpy 将图像馈送到TensorFlow图形时出错,numpy,tensorflow,conv-neural-network,grayscale,Numpy,Tensorflow,Conv Neural Network,Grayscale,我正在尝试将一些图像加载到TensorFlow图形中,该图形是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 Te
TensorFlow
图形中,该图形是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)'
我导出了带有错误的笔记本
,并将其作为md
文件上载到,以确保完整性和简洁性
我意识到这个错误是因为x\u批处理
是RGB形状的
然而,我认为TensorFlow
会自动进行转换
既然包装了输入,TF
不应该将grayscaling
作为会话的一部分吗
或者我理解错了它的工作原理了吗?该函数需要一个输入张量,其最后一个维度的大小为3。例如,在您的案例中,一批形状(250,32,32,3)
,或者它可以是形状(32,32,3)
的单个图像
如果要将RGB图像馈送并立即将其处理为灰度,可以执行以下操作:
images=tf.placeholder(tf.float32,shape=[None,32,32,3])
gray_images=tf.image.rgb_to_grayscale(图像)#具有形状(无、32、32、1)
该函数需要一个输入张量,其最后一个维度的大小为3。例如,在您的案例中,一批形状(250,32,32,3)
,或者它可以是形状(32,32,3)
的单个图像
如果要将RGB图像馈送并立即将其处理为灰度,可以执行以下操作:
images=tf.placeholder(tf.float32,shape=[None,32,32,3])
gray_images=tf.image.rgb_to_grayscale(图像)#具有形状(无、32、32、1)
该错误是因为您想加载RGB图像进行RGB2灰度转换,但该图像位于占位符中
x=tf.placeholder(tf.float32,shape=[None,32,32,1],name='x')
x被定义为具有单个维度,将1更改为3,错误将被删除。此错误是因为您想加载RGB图像进行RGB2灰度转换,但在占位符中 x=tf.placeholder(tf.float32,shape=[None,32,32,1],name='x')
x被定义为具有单个尺寸,将1更改为3,错误将被删除。如果要输入RGB图像,则需要有一个带有形状的占位符
[None,32,32,3]
。然后可以进行灰度缩放。@OlivierMoindrot那么tf.image.rgb_to_grayscale将在没有任何进一步代码的情况下进行灰度缩放吗?如何确保灰度图像是正在处理的图像?因此,如果将RGB图像馈送到占位符,然后将gray=tf.image.RGB\u应用到\u灰度(x)
,则输出将是形状[None,32,32,1]
,并将包含灰度图像。如果你想确定的话,你可以检查灰色的形状。@OlivierMoindrot-你能把你的评论升级为一个答案吗?谢谢@dga:完成了。您正在尝试清理tensorflow标记吗?如果要输入RGB图像,您需要有一个带有shape[None,32,32,3]
的占位符。然后可以进行灰度缩放。@OlivierMoindrot那么tf.image.rgb_to_grayscale将在没有任何进一步代码的情况下进行灰度缩放吗?如何确保灰度图像是正在处理的图像?因此,如果将RGB图像馈送到占位符,然后将gray=tf.image.RGB\u应用到\u灰度(x)
,则输出将是形状[None,32,32,1]
,并将包含灰度图像。如果你想确定的话,你可以检查灰色的形状。@OlivierMoindrot-你能把你的评论升级为一个答案吗?谢谢@dga:完成了。你想清理tensorflow标签吗?