Keras报Sequential层输入维度不匹配ValueError错误求助
错误排查与修复方案
核心错误原因
输入特征维度与模型要求的输入维度不匹配:
- 你的特征矩阵
X = dataset[:,0:71],每个样本包含71个特征,输入给模型的单条数据维度为71 - 模型第一层全连接层配置为
input_dim=8,要求输入的单条数据必须仅包含8个特征,二者维度不一致触发报错。
修复操作
1. 修正模型输入维度配置
将第一层Dense层的input_dim参数从8修改为71即可解决维度不匹配问题,修改后的代码如下:
# 原错误代码 # model.add(Dense(12, input_dim=8, activation='relu')) # 修正后代码 model.add(Dense(12, input_dim=71, activation='relu'))
2. 额外潜在问题修复(避免后续报错)
你当前代码还存在两个隐性问题,建议同步修改:
acc_per_fold和loss_per_fold两个存储结果的列表未提前初始化,维度问题修复后会触发变量未定义报错,在K折循环开始前添加初始化代码:
acc_per_fold = [] loss_per_fold = []
- 代码中导入了
Conv2D、MaxPooling2D、sparse_categorical_crossentropy等未使用的依赖,可直接删除,避免不必要的运行冲突。
内容的提问来源于stack exchange,提问作者solanga
相关产品推荐
相关产品推荐

