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

时间:2015-11-28 17:27:17

标签: python python-2.7 tensorflow

我一直在玩Tensorflow库做教程。现在我想玩我自己的数据,但我失败了。这可能是一个noob问题,但我无法弄清楚。

我正在使用此示例:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3%20-%20Neural%20Networks/convolutional_network.py

我想使用自己的图像,将我的图像转换为使用tensorflow,我正在使用它:https://github.com/HamedMP/ImageFlow/blob/master/ImageFlow.py

现在我更改示例中的参数:

 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))

我觉得我忽视了一些小事,但我看不到它。

2 个答案:

答案 0 :(得分:17)

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

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

batch_size

这使用numpy将读入的图像(batch_xs = np.reshape(batch_xs, (-1, 9216)) x h x w x通道的4-D数组)重新整形为占位符所预期的batch_size x 9216元素矩阵。

答案 1 :(得分:0)

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