【发布时间】:2019-04-09 15:03:38
【问题描述】:
我正在使用 mnist 制作数字识别模型。 学习很好,模型的准确率在 98.6% 左右。 但是,当我测试其他图像(不是 mnist 图像)时,准确率非常低
这是我处理图像的代码。 我要使用的图像是 IAM 数据集。这是一个链接。 http://www.fki.inf.unibe.ch/databases/iam-handwriting-database
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
from glob import glob
from skimage import color
from skimage import io
import matplotlib.cm as cm
from scipy.misc import imresize
def read_image(path):
image = io.imread(path, as_grey= 1)
image_resized = imresize(image, [28, 28])
image_reshaped = image_resized.reshape([784])
image_reshaped = np.array(image_reshaped, dtype= np.float32)
for i in range(len(image_reshaped)):
if image_reshaped[i] >= 255:
image_reshaped[i] = 0
elif image_reshaped[i] != 255:
image_reshaped[i] /= 255.0000
return image_reshaped
testing_image = read_image(path)
plt.imshow(a.reshape((28, 28)))
这是我正在处理的图像(对不起链接,我是新手,所以我不能直接上传)
这是 mnist 图片。
所以,我的问题是,我的图像和 mnist 图像有什么不同, 以及如何使我的图像像 mnist 图像?
【问题讨论】:
-
你不能期望你的模型泛化到与你训练它的数据有很大不同的数据。为什么不在其他数据集上重新训练?
-
好的,我应该找到另一个数据集.. 谢谢
标签: python tensorflow image-processing neural-network