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

运行图像处理代码执行model.predict时出现输入维度不匹配错误如何解决

报错信息:ValueError: Input 0 of layer sequential_13 is incompatible with the layer: expected axis -1 of input shape to have value 1 but received input with shape (None, 100, 100, 3)

问题原因

报错的核心是模型输入维度和实际传入的数据维度不匹配:你使用的sequential_13模型在训练时设置的输入为单通道(灰度图)格式,要求输入张量最后一维的数值为1,但当前代码中使用load_img加载图片时默认采用RGB三通道模式,处理后的数据最后一维数值为3,不符合模型的输入要求。

解决方法

你可以根据自己的业务场景选择以下任意一种方案处理:

  • 方案1:加载图片时直接指定灰度模式
    修改load_img的调用参数,添加color_mode='grayscale'强制加载为单通道灰度图,修改后的代码行如下:
    img = load_img(img, target_size=(100,100), color_mode='grayscale')
    
  • 方案2:手动将三通道图片转为单通道
    如果你的逻辑中需要先加载三通道图片做其他处理,可以在拿到图片数组后手动做灰度转换,添加代码如下:
    # 写在 img_array = img_to_array(img) 代码行之后
    img_array = np.mean(img_array, axis=-1, keepdims=True)
    
  • 方案3:修改模型输入层适配三通道输入
    如果你的业务场景确实需要使用RGB三通道数据,可以修改模型定义处的输入层参数,将输入形状最后一维从1改为3,比如原输入层为Input(shape=(100,100,1)),修改为Input(shape=(100,100,3)),重新训练模型后再执行预测即可。

内容的提问来源于stack exchange,提问作者Merve Özdaş

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:09:04