Tensorflow MNIST:ValueError:Shape必须为rank 4,但对于'Conv2D'(op:'Conv2D'),输入形状为[?,28,28,1],[4]

时间:2017-12-21 00:47:28

标签: tensorflow

我是机器学习和张量流的新手。我开始关注张量流网站上的MNIST教程。我得到了简单版本的工作,但是当我跟随深CNN时,我发现了一个错误。

  

ValueError:Shape必须是等级4,但是'Conv2D'的等级为1(op:   'Conv2D')输入形状:[?,28,28,1],[4]。

问题似乎在于:

size_t tam;

感谢您的帮助,我在这里有点失落。

x_image = tf.reshape(x, [-1, 28, 28, 1])

2 个答案:

答案 0 :(得分:6)

您的错误出现在第一个卷积层中 - 您的变量W_conv1b_conv1只是列表(因此排名为1),因为您尚未使用weight_variable()bias_variable()你创建的函数!

答案 1 :(得分:0)

可能相关。 这个错误至少让我误解和困惑。 根据错误,它要求我们检查 “输入形状” ,而问题出在 过滤器 您已指定。

这就是为什么@Yuji在上面要求使用方法 weight_variable() 的原因,该方法可以正确初始化过滤器(权重)。