Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Numpy 将图像馈送到TensorFlow图形时出错_Numpy_Tensorflow_Conv Neural Network_Grayscale - Fatal编程技术网

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标签吗?