我刚刚意识到,我的MNIST数字分类器(一种卷积神经网络)在我自己的手绘数字上发生了巨大的故障,准确率仅为55% (黑白图像上的准确率为50%,黑白图像上的准确率为60% )。
这个结果让我相当惊讶,因为工业字符识别软件对于全新的字符非常准确。
我能在网上找到的唯一解释是过度拟合,这似乎不太可能,因为我的模型有98.4%的测试准确率。另一种解释是,MNIST数据集并不像人们所希望的那样普遍/具有较低的维度,这似乎是不可能的。转换为灰度也不是问题(见Roshin的答案中的评论)。
有人愿意看看我的模特然后告诉我怎么了吗?对我自己角色的测试是在最后一个填充单元格中进行的。
发布于 2020-06-12 11:29:48
问题在于台词:
# my own hand-drawn characters
with url.urlopen(img) as file:
x2 = im.imread(file.read())
# average color channels, put in 1-size batch, normalize
x2 = np.array([[[[np.mean(entry)] for entry in row] for row in x2]]) / 255.0你应该把图像转换成灰度。
# my own hand-drawn characters
with url.urlopen(img) as file:
pil_im = Image.open(file.read()).convert('L')
img = np.array(pil_im) / 255.0
# average color channels, put in 1-size batch, normalize您应该事先从Image导入PIL模块,
from PIL import Imagehttps://stackoverflow.com/questions/62341351
复制相似问题