使用我自己的数据的 Tensorflow 错误

Tensorflow error using my own data

我一直在使用 Tensorflow 库来完成教程。现在我想玩我自己的数据,但我失败了。这可能是一个菜鸟问题,但我想不通。

我正在使用这个例子: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,而且我的图片只有 2 类

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

我是这样读数据的:

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 x 9216,其中 batch_size可能是可变的)。

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

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

这使用 numpy 将读入的图像(batch_size x h x w x 通道的 4 维数组)重塑为占位符预期的 batch_size x 9216 元素矩阵。

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