Machine learning 在MNIST数据集上训练CNN的数字识别性能较差

Machine learning 在MNIST数据集上训练CNN的数字识别性能较差,machine-learning,tensorflow,conv-neural-network,mnist,Machine Learning,Tensorflow,Conv Neural Network,Mnist,我使用MNIST数据集训练了一个CNN(关于tensorflow)进行数字识别。 测试集的准确率接近98% 我想用我自己创造的数据预测数字,结果很糟糕 我对自己写的图像做了什么? 我将每个数字分割出来,转换成灰度,将图像大小调整为28x28,然后输入模型 为什么我的数据集的精确度如此之低,而测试集的精确度如此之高 还有其他我应该对图像进行的修改吗 编辑: 以下是图片的主要内容和一些示例: 排除bug和明显的错误,我猜想您的问题在于,您捕获手写数字的方式与您的训练集太不一样了 捕获数据时,应尽量

我使用
MNIST
数据集训练了一个
CNN
(关于
tensorflow
)进行数字识别。 测试集的准确率接近
98%

我想用我自己创造的数据预测数字,结果很糟糕

我对自己写的图像做了什么?

我将每个数字分割出来,转换成灰度,将图像大小调整为
28x28
,然后输入模型

为什么我的数据集的精确度如此之低,而测试集的精确度如此之高

还有其他我应该对图像进行的修改吗

编辑:

以下是图片的主要内容和一些示例:


排除bug和明显的错误,我猜想您的问题在于,您捕获手写数字的方式与您的训练集太不一样了

捕获数据时,应尽量模仿创建MNIST数据集的过程:

从:

来自NIST的原始黑白(二层)图像的大小相同 规格化以适合20x20像素的长方体,同时保留其外观 比率生成的图像包含由于以下原因而产生的灰度: 标准化算法使用的抗锯齿技术。这个 通过计算质心,将图像集中在一张28x28的图像中 并平移图像以定位该点 在28x28字段的中心

如果您的数据在培训和测试阶段有不同的处理,则您的模型无法从培训数据概括到测试数据

因此,我有两个建议:

  • 尝试捕获和处理数字图像,使其看起来尽可能与MNIST数据集相似
  • 将一些示例添加到训练数据中,以允许模型在与正在分类的图像相似的图像上进行训练
    对于那些仍然很难接受基于CNN的MNIST模型质量差的人:


    规范化是关键。

    能否提供数据集中的一些示例?请在此处上载图像。@SilverSlash我添加了图像的链接图像背景为灰色?@kvmanohar请上载图像和MNIST数据集的示例,而不仅仅是链接