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

CNN输入维度不匹配:期望shape=(None,898,699,1)如何修复报错

报错根因

你传入模型的输入维度比要求少了一个898的空间维度:模型要求输入格式为(批量数, 898, 699, 1),你实际传入的维度是(批量数, 699, 1),缺失了高度维度。


修正步骤

  1. 先确认原始数组形状
    执行代码打印未处理的原始数组形状:
    print(原始数组.shape)
  • 单样本场景下,正常输出应为(898, 699)
  • 批量N个样本场景下,正常输出应为(N, 898, 699)
    如果输出不符合上述结果,说明你加载/生成原始数组时就出现了维度丢失,需要先修正原始数据生成逻辑。
  1. 执行正确的维度扩展操作
    根据你的场景选对应处理方式:
  • 单样本场景:需要同时添加批量维度和通道维度,两种等效写法可选:
# 写法1:两次扩展维度
processed_data = np.expand_dims(np.expand_dims(原始数组, axis=0), axis=-1)
# 写法2:直接reshape更直观
processed_data = 原始数组.reshape(1, 898, 699, 1)
  • 批量N个样本场景:仅需要在末尾添加通道维度即可:
processed_data = np.expand_dims(原始数组, axis=-1)
  1. 额外排查项
    如果原始数组打印出来是(699, 898)的轴反转情况,先转置再做扩展:
原始数组 = 原始数组.T
# 再执行上述扩展操作
  1. 维度验证
    处理完成后执行代码确认维度正确:
    print(processed_data.shape)
    确认输出符合(N, 898, 699, 1)后再传入模型即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:27:02