You need to enable JavaScript to run this app. Keras搭建基础CNN模型报input_shape未定义NameError错误求助
优惠活动
大模型
产品
解决方案
定价
更多

Keras搭建基础CNN模型报input_shape未定义NameError错误求助

问题原因

NameError: name 'input_shape' is not defined报错的核心是:你仅在ClassicalModel函数内部定义了名为input_shape的形参,但是在全局作用域调用该函数时,没有提前定义过名为input_shape的实参变量,这和函数形参的命名没有关系。

解决方案

你只需要做两处修改即可正常运行:

  • 新增input_shape变量定义:Keras默认使用channels_last的图像输入格式,RGB彩色图像的输入结构为(图像高度, 图像宽度, 通道数),结合你代码中已定义的图像宽高参数,在调用ClassicalModel前添加如下代码即可:
# 3为RGB彩色图像的通道数,若使用灰度图可修改为1
input_shape = (IM_HEIGHT, IM_WIDTH, 3)

你可以将这行代码放在全局变量定义区,或者直接放在model = ClassicalModel(input_shape)的上一行。

  • 修正拼写错误:你在模型编译的参数中把metrics错写为metris,会触发后续的参数错误,修改为正确拼写即可:
model.compile(optimizer='adam',
              loss='categorical_crossentropy', metrics=['accuracy'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 17:06:03