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

Keras全连接层输入为2D矩阵时训练报数据基数错误求助

问题原因

  • 你构造的X是Python列表类型,没有转换为Numpy数组,Keras解析输入形状时会出现异常
  • 全连接层Dense默认仅作用在张量的最后一个维度,你输入的单样本形状是(69,11),不经过展平直接传入Dense层的话,最终模型输出形状是(None, 69, 1),和标签y的形状(100,)完全不匹配,因此触发样本基数不匹配的报错。

解决方案

两步修改即可正常运行:

  1. 构造完模拟数据后,将X转换为Numpy数组:
X = np.array(X)
  1. 模型第一层添加Flatten层,将每个样本的2D矩阵展平为1D向量,匹配后续全连接层和标签的形状要求,修正后的模型构造代码如下:
model = Sequential()
# 新增Flatten层,把(69,11)的2D输入展平为759维的1D向量
model.add(Flatten(input_shape=(dim1, dim2)))
model.add(Dense(units=11, activation='relu'))
model.add(Dense(units=11, activation='relu'))
model.add(Dense(units=1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()

修正后模型的输出形状会是(None, 1),和标签y的形状匹配,调用model.fit(X, y)即可正常训练。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:27:02