我使用CNN
数据集训练tensorflow
(MNIST
)进行数字识别。
测试集的准确度接近98%
。
我想用自己创建的数据来预测数字,结果很糟糕。
我对我写的图片做了什么?
我将每个数字分割出来并转换为灰度,并将图像调整为28x28
并将其输入模型。
为什么我在数据集上得到如此低的准确度呢?在测试集上如此高精度?
我是否应对图像进行其他修改?
修改
以下是图片的link和一些示例:
答案 0 :(得分:0)
排除错误和明显的错误,我的猜测是你的问题是你用一种与你的训练集太不一样的方式捕捉你的手写数字。
捕获数据时,您应尽量模拟用于创建MNIST数据集的过程:
来自oficial MNIST dataset website:
来自NIST的原始黑白(双层)图像是大小 标准化以适应20x20像素的盒子,同时保留它们的外观 比。由此产生的图像包含灰度级 归一化算法使用的抗锯齿技术。该 通过计算质心,图像以28x28图像为中心 像素,并平移图像以定位此点 位于28x28场地的中心。
如果您的数据在训练和测试阶段有不同的处理,那么您的模型无法从列车数据推广到测试数据。
所以我有两个建议:
答案 1 :(得分:0)