tensorflow基础--LeNet-5测试模型遇到TypeError: Failed to convert object of type to Tensor

最近在看《TensorFlow 实战Google深度学习框架第二版》这本书,测试LeNet-5这个模型时遇到了TypeError: Failed to convert object of type <class 'list'> to Tensor的报错,由于书作者没有给出测试的代码,所以根据前面第五章给出的mnist测试代码修改了测试的代码。至于报错的原因尚且不是很清楚,不过找到了解决方法。只要设置好输入数据X的每个维度大小就可以了。比如

        x = tf.placeholder(tf.float32, [mnist.validation.images.shape[0],
mnist_inference.IMAGE_SIZE, mnist_inference.IMAGE_SIZE, mnist_inference.NUM_CHANNELS], name='x-input') y_ = tf.placeholder(tf.float32, [None, mnist_inference.OUTPUT_NODE], name='y-input') y = mnist_inference.inference(x, None, None)
mnist.validation.images.shape[0]  这个参数在这里一定要指定,原因不明,希望知道的大佬评论区提示一下。个人猜测是下面数据进行resape的时候发生了什么变化,或者是发生了隐式转换,所以不指定
在喂数据的时候会报类型不符,并且我也试了一下训练的代码也有同样问题。但是第五章提供的代码中x的第一维的大小是None,但是却是可以正确运行的。所以才有了上面的结论。

参考:https://blog.csdn.net/weixin_41695564/article/details/80240106

如果你觉得我说的有不对的地方,欢迎指正。谢谢。