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

定义输入形状[864,864,2]仍遇CVCNN形状不兼容错误求解答

复值CNN输入形状不匹配错误原因分析

错误核心

错误信息 ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 864, 864, 2), found shape=(None, 864, 2) 的本质是输入张量维度不匹配:

  • 你通过ComplexInput(input_shape=[864, 864, 2])定义的模型,要求输入是4D张量:(批量大小, 高度, 宽度, 通道数),其中864,864是二维空间数据的尺寸,2对应复值数据的实部和虚部通道。这是因为后续使用了ComplexConv2D这类二维卷积层,必须依赖二维空间维度进行卷积运算。
  • 但你的数据集输入形状是(8010, 864, 2),属于3D张量:(批量大小, 序列长度, 通道数),缺少了一个空间维度,导致模型预期的二维结构变成了一维结构,两者形状无法匹配。

模型佐证

从你的模型摘要可以验证这一点:第一个ComplexConv2D层的输出形状为(None, 862, 862, 32),这是对输入的864x864二维数据做3x3卷积后的结果(计算公式:864 - 3 + 1 = 862),完全符合二维卷积的特征图输出逻辑,说明模型确实是按照二维空间输入设计的,但你的数据并未提供第二个空间维度。

调整方向

根据你的实际数据类型选择对应方案:

  1. 若数据是二维复值图像:将数据集reshape为(8010, 864, 864, 2),补充缺失的空间维度,匹配模型的输入要求。
  2. 若数据是一维复值序列:修改模型结构为一维网络:
    • 把ComplexInput的输入形状改为[864, 2]
    • 将ComplexConv2D替换为ComplexConv1D
    • 将ComplexAvgPooling2D、ComplexMaxPooling2D分别替换为ComplexAvgPooling1D、ComplexMaxPooling1D

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:50:37