我看了一下ML初学者的MNIST上的基本例子,他们从MNIST数据库中创建了一个简单的数字分类器,非常酷。
他们拥有的教程代码是softmax.py,但是他们对自己的测试映像使用分类器。我想试一试我自己的形象从枕头。
以下是我修改的部分:
from PIL import Image
# Test trained model
img = Image.open("09.png").convert('L')
data = np.ndarray.flatten(np.array(img))
result = sess.run(tf.argmax(y,1), feed_dict={x: [data]})
print (' '.join(map(str,result)))但这一错误涉及:
ValueError: Cannot feed value of shape (1, 1568) for Tensor u'Placeholder:0', which has shape '(?, 784)'我使用的图像是28x28:


分别为9和14。
我可能误解了分类器的工作方式,因为我刚刚开始阅读一些关于机器学习主题的教程。我的问题是如何将这些图像从枕头加载到分类器中,并让分类器确定正确的数字?
编辑:基于@sascha的评论的,我已经更新了代码,但是得到了不正确的结果。我试过清理9图像:

但现在的结果要么是7,要么是3。
发布于 2017-12-07 11:26:53
我可以看到,通过将图像转换为1通道,您已经解决了形状不匹配的问题。现在的问题是,您的测试预测是错误的。因此,这说明您的ML模型在该测试用例中失败了。
总是计算训练和测试的准确性,以分析模型的性能,并知道您的模型面临什么问题。
因此,寻找解决方案,您可以如何改进您的模型。尝试卷积神经网络,增加层数,集合等。
检查这链接,我已经为数字识别写了一个简单的CNN模型,它有99.45的准确性。
请参阅Kaggle中的其他内核,以更多地了解解决同一问题的不同方法。
希望这能有所帮助!
https://stackoverflow.com/questions/47683090
复制相似问题