我一直在玩Tensorflow库做教程。现在我想玩我自己的数据,但我失败了。这可能是一个noob问题,但我无法弄清楚。
我想使用自己的图像,将我的图像转换为使用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))
我觉得我忽视了一些小事,但我看不到它。
答案 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解决了这个问题。