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

CNN图像上色模型训练触发Incompatible shapes形状不匹配报错

图像上色CNN模型形状不匹配问题解决方案

报错提示模型输出形状为[3,256,256,2],标签形状为[3,150,150,2],二者不匹配导致损失计算失败,核心原因如下:

  • 训练数据集Xtrain的原始图像尺寸为150×150,你在模型定义时设置的输入尺寸为256×256,模型经过3次步长为2的下采样、3次2倍上采样后最终输出尺寸为256×256,和从Xtrain生成的150×150尺寸标签无法对齐
  • 3次步长为2的下采样要求输入图像尺寸必须是8的倍数(2^3=8),150不是8的倍数,也会导致后续上采样无法还原到原始输入尺寸

解决方案

  1. 统一图像尺寸:将训练集中所有图像统一resize到256×256,保证Xtrain的shape为(样本数, 256, 256, 3),这样生成的标签Y_batch尺寸自然为256×256
  2. 显式指定生成器输出尺寸:调用datagen.flow时添加参数target_size=(256,256),避免生成器意外输出其他尺寸的图像
  3. 冗余代码清理:代码中重复定义了两次datagen,可删除重复的定义段

验证方法

修改前可先运行以下代码确认问题:

# 查看训练集原始尺寸
print(Xtrain.shape)
# 查看模型输出尺寸
print(model.output_shape)
# 查看生成器输出的标签尺寸
test_x, test_y = next(image_a_b_gen(1))
print(test_y.shape)

确认三者尺寸一致后再启动训练即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:06:08