首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AttributeError: KerasRegressor对象没有属性“__call__”

AttributeError: KerasRegressor对象没有属性“__call__”
EN

Stack Overflow用户
提问于 2022-08-29 08:46:10
回答 1查看 207关注 0票数 0

我正在为预测值建立人工神经元网络(ANN)模型,但我面临的问题是:

输入:

代码语言:javascript
运行
复制
def create_model(optimizer = 'rmsprop', units = 16, learning_rate = 0.001):
    ann = Sequential() # Initialising ANN
    ann.add(tf.keras.layers.Dense(units = units, activation = "relu")) # Adding First Hidden Layer
    ann.add(tf.keras.layers.Dense(units = units, activation = "relu")) # Adding Second Hidden Layer
    ann.add(tf.keras.layers.Dense(units = units, activation = "relu")) # Adding Third Hidden Layer
    ann.add(tf.keras.layers.Dense(units = 1)) # Adding Output Layer   
    ann.compile(optimizer = optimizer, loss = 'mean_absolute_error') # Compiling ANN
    return ann

ann = KerasRegressor(model = create_model, 
                     verbose = 0, 
                     learning_rate = 0.001, 
                     units = 16
                     )
 
optimizers = ['rmsprop', 'adam', 'SGD']
epoch_values = [10, 25, 50, 100, 150, 200]
batches = [10, 20, 30, 40, 50, 100, 1000]
units = [16, 32, 64, 128, 256]
lr_values = [0.001, 0.01, 0.1, 0.2, 0.3]

hyperparameters = dict(optimizer = optimizers, 
                        epochs = epoch_values, 
                        batch_size = batches, 
                        units = units,
                        learning_rate = lr_values
                        )

grid = GridSearchCV(estimator = ann, cv = 5, param_grid = hyperparameters)

history = grid.fit(X_train, 
                   Y_train, 
                   batch_size = 32, 
                   validation_data = (X_test, Y_test), 
                   epochs = 100
                   ) # Fitting ANN

输出错误:

代码语言:javascript
运行
复制
...
92 elif (not isinstance(self.build_fn, types.FunctionType) and
93       not isinstance(self.build_fn, types.MethodType)):
94   legal_params_fns.append(self.build_fn.__call__)

AttributeError: 'KerasRegressor' object has no attribute '__call__'

数据:

(10,2066年) 4)

  • X_train.shape -> (8 ),2066)

  • X_test.shape -> (2),2066)

  • Y_train.shape -> (8 ),4)

  • Y_test.shape -> (2,4)

-> (10,2066)

EN

Stack Overflow用户

回答已采纳

发布于 2022-08-29 17:50:24

在将模型传递给KerasRegressor之前,您必须编译它

代码语言:javascript
运行
复制
...
model = create_model()
model.compile()
ann = KerasRegressor(model)
...
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73526233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档