我正在使用MNIST数据集和LeNet Model来预测数字图片,如下所示。首先,我用Image.open
显示测试图像,它以反向旋转的方式显示测试图像。
from PIL import Image
import matplotlib.cm as cm
import pylab as pl
import numpy as np
img = Image.open('./test/2.png').convert('L')
img = np.invert(img) # convert to white on black
pl.imshow(np.asarray(img), origin='lower', cmap=cm.Greys_r)
pl.show()
另一个问题是预测的准确率似乎很低。例如,此处的2
被预测为4
。
有人可以提供帮助或进行解释吗?在我看来,这个数字比手写MNIST清晰得多。非常感谢。
答案 0 :(得分:3)
imshow
仅看到一个数据数组。因此,指定origin='lower'
意味着您要告诉imshow
数据的原点在右下角。但是,图像数据的原点位于上角,因此您可以完全删除origin=
(默认为“ upper”)或指定为“ upper”。
pl.imshow(np.asarray(img), cmap=cm.Greys_r)
或
pl.imshow(np.asarray(img), origin='upper', cmap=cm.Greys_r)