You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

神经网络在原数据集表现优异却误分类自定义手写字母图像求助

手写字母分类模型自定义测试问题

使用的数据集为AZ手写字母CSV格式数据集。

背景信息

  • 输入文件为JPEG格式,通过matplotlib的imread方法转换为numpy数组
  • 后续分别使用tensorflow的image.resize方法和image.rgb_to_grayscale方法完成图像重塑与灰度转换

模型结构

model = Sequential(
    [
        tf.keras.Input(shape=(784,),),
        Dense(200, activation= "relu"),
        Dense(150, activation= "relu"),
        Dense(100, activation= "relu"),
        Dense(50, activation= "relu"),
        Dense(26, activation= "linear")
    ]
)

问题描述

该模型在上述数据集上的准确率可达98.9%,但使用自行拍摄的手写字母图像测试时,结果始终被分类为'A'。我尝试过对图像进行颜色反转(原灰度图像中字母为黑色、背景为白色,反转后变为白字黑底),相关代码及执行情况如下:

灰度转换代码

img = plt.imread("20220922_194823.jpg")
img = tf.image.rgb_to_grayscale(img)
plt.imshow(img, cmap="gray")

执行后得到的图像尺寸为TensorShape([675, 637, 1])。

颜色反转与resize代码

img = 1 - img
img = tf.image.resize(img, [28,28]).numpy()
plt.imshow(img, cmap="gray")

执行后得到颜色反转并缩小后的图像。

我怀疑模型始终输出'A'是因为图像中存在未完全黑白化的像素,但不确定具体原因,也想了解后续如何避免这类问题。

内容的提问来源于stack exchange,提问作者user14401141

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:15:41