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

Keras不同尺寸输入神经网络拟合时数据基数不匹配报错求助

Keras多输入数据不匹配问题解决办法

报错原因

你输入的向量v样本数是70,矩阵A样本数是312,但目标向量u的样本数是70,三者样本数量不一致。Keras要求所有输入和输出的第一维(样本数)必须完全相同,否则会触发数据 cardinality 不匹配的报错。

解决步骤

  • 检查数据维度:分别打印v、A、u的形状,确认第一维(样本数)是否一致。比如:
    print(v.shape)
    print(A.shape)
    print(u.shape)
    
    正常情况下三者第一维都应该是70,比如v是(70, 向量维度),A是(70, 矩阵行数, 矩阵列数),u是(70, 输出向量维度)。
  • 对齐样本数量:如果A的样本数多了,直接截取和v、u匹配的样本,比如取前70个:
    A = A[:70]
    
    如果是样本数少了,需要补充对应样本(补充时要保证数据逻辑合理,比如用重复、插值等方式,具体看你的数据场景)。
  • 重新验证&拟合:调整后再次打印三者形状,确认第一维一致后,再调用模型拟合:
    model.fit([v, A], u, epochs=..., batch_size=...)
    

注意点

别把特征维度和样本数搞混——比如如果A的形状是(行数, 列数)而不是(样本数, 行数, 列数),那你需要先给A增加样本维度,比如用A = A[np.newaxis, ...],但前提是样本数要和v、u匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:06:22