Python 使用我自己的数据时出现Tensorflow错误

Python 使用我自己的数据时出现Tensorflow错误,python,python-2.7,tensorflow,Python,Python 2.7,Tensorflow,我一直在玩Tensorflow库做教程。现在我想玩我自己的数据,但我失败得可怕。这也许是一个很难回答的问题,但我想不出来 我用这个例子: 我想使用我自己的图像,为了将我的图像转换为tensorflow,我使用了以下方法: 现在我更改示例中的参数,如下所示: n_input = 784 n_classes = 10 为此: n_input = 9216 n_classes = 2 我这样做是因为我的图像是96*96,只有两类图像 我还将权重和偏差更改为所需的数字 我读到的数据如下: b

我一直在玩Tensorflow库做教程。现在我想玩我自己的数据,但我失败得可怕。这也许是一个很难回答的问题,但我想不出来

我用这个例子:

我想使用我自己的图像,为了将我的图像转换为tensorflow,我使用了以下方法:

现在我更改示例中的参数,如下所示:

 n_input = 784
 n_classes = 10
为此:

 n_input = 9216
 n_classes = 2
我这样做是因为我的图像是96*96,只有两类图像

我还将权重和偏差更改为所需的数字

我读到的数据如下:

batch_xs = imgReader.read_images(pathname);
imgReader是ImageFlow文件

但是,当我尝试运行它时,我给出了一个错误:

 ValueError: Cannot feed value of shape (104, 96, 96, 1) for Tensor
 u'Placeholder:0', which has shape (Dimension(None), Dimension(9216))

我觉得我忽略了一些小东西,但我看不到它。

出现此错误是因为您试图输入的数据的形状(104 x 96 x 96 x 1)与输入占位符的形状不匹配(
batch_size
x9216,其中
batch_size
可能是可变的)

要使其正常工作,请在运行培训步骤之前添加以下行:

batch_xs = np.reshape(batch_xs, (-1, 9216))

这使用numpy将读取的图像(即
batch_size
x h x w x通道的4-D数组)重塑为
batch_size
x 9216元素矩阵,正如占位符所预期的那样。

我通过pip升级tensorflow解决了这个问题。

很高兴它能工作!一些形状信息可能非常微妙,因此我们将尝试处理错误消息