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

AttributeError: 'KerasClassifier'无'add'属性 网格搜索报错求解

报错根因

你定义的create_model函数内缺少初始化序列模型对象的步骤,直接调用了model.add()方法:

  • 函数执行时,作用域内不存在名为model的局部变量,会向上查找全局作用域的model,也就是你实例化的KerasClassifier对象
  • KerasClassifier是Scikit-learn的适配包装类,本身没有add方法,因此触发属性错误
修复方案
  1. 首先修改create_model函数,新增Sequential实例化步骤:
#Create the model
def create_model(neurons=1):
    # 新增:实例化Keras序列模型
    model = Sequential()
    # add 1st layer with 50 nodes/perceptons, each will process (2,6) matrix block
    model.add(LSTM(neurons, input_shape=(2, 6), return_sequences=True))
    model.add(Dropout(0.2))
    model.add(LSTM(50, return_sequences=False))
    model.add(Dropout(0.2))
    model.add(Dense(6))
    #Compile model
    model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
    return model
  1. 可选适配优化:
    你当前用的损失函数是mean_squared_error,输出维度为6,如果是回归任务,建议把KerasClassifier替换为KerasRegressor更合理:
from keras.wrappers.scikit_learn import KerasRegressor
model = KerasRegressor(build_fn=create_model, epochs=100, batch_size=10, verbose=0)

如果是高版本TensorFlow环境,导入路径调整为:

from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
# 回归任务用下面的导入
from tensorflow.keras.wrappers.scikit_learn import KerasRegressor

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:57:03