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

使用Keras/TensorFlow训练Chars74K字符识别CNN遇报错

Chars74K字符识别CNN训练报错解决指南

第一步:开启即时执行定位具体错误

按照报错提示,开启即时执行模式获取详细错误信息:

  • 编译模型时添加参数:
    model.compile(
        optimizer='adam',
        loss='sparse_categorical_crossentropy',
        metrics=['accuracy'],
        run_eagerly=True
    )
    
  • 或全局开启:
    import tensorflow as tf
    tf.config.run_functions_eagerly(True)
    

重新运行训练,会输出完整错误栈,直接定位问题根源。

针对input_shape的排查要点

结合你推测的方向,重点检查:

  • 模型第一层Conv2D的input_shape是否和输入图片维度完全匹配:比如灰度图要设为(height, width, 1),RGB图设为(height, width, 3),需和预处理后的图片尺寸一致
  • 确认训练数据x_train的维度是否为(样本数, 高, 宽, 通道数),有没有在预处理时遗漏维度转换
  • 检查图片resize步骤:是否统一将所有输入图片调整为input_shape指定的尺寸

其他常见排查项

  • 损失函数与标签格式匹配:用sparse_categorical_crossentropy时标签必须是整数(非one-hot),用categorical_crossentropy则需one-hot编码
  • 训练集有效性:确认数据加载正常,没有因路径错误、文件损坏导致训练集为空
  • 网络结构合理性:检查Dropout层比例是否过高(比如超过0.8),避免梯度消失导致训练无日志输出

内容的提问来源于stack exchange,提问作者Bhaskar Bijoy Kashyap

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:52:06