没有名为“keras.wrappers”的模块

问题描述 投票:0回答:1

我在 google colab 上有这段代码,它允许我使用 gridsearchCV 优化 LSTM 模型,但最近出现了一条错误消息:

ModuleNotFoundError:没有名为“keras.wrappers”的模块。

除了“keras.wrappers”之外,还有其他模块允许重新启动代码吗?

代码:

from keras.layers import Dense, LSTM, Dropout
from keras import optimizers

from sklearn.model_selection import GridSearchCV
from keras.wrappers.scikit_learn import KerasRegressor

def create_model(unit, dropout_rate, lr ):
 model=Sequential()
 model.add(LSTM(unit,return_sequences=True, input_shape=(1,5)))
 model.add(Dropout(dropout_rate))
 model.add(LSTM(unit))
 model.add(Dropout(dropout_rate))
 model.add(Dense(1))
 adam= optimizers.Adam(lr)
 model.compile(optimizer=adam, loss='mean_squared_error')

 return model

my_regressor = KerasRegressor(build_fn=create_model, verbose=2)

grid_param_LSTM = {
    'unit':   [50, 70, 120],
    'batch_size': [12, 24, 48],
    'epochs': [200],
    'lr': [0.001, 0.01, 0.1],
    'dropout_rate':[0.1, 0.2, 0.3]
}

grid_GBR = GridSearchCV(estimator=my_regressor, param_grid = grid_param_LSTM, scoring = 'neg_root_mean_squared_error',  cv = 2)
grid_GBR.fit(X_train, y_train)

print("Best: %f using %s" % (grid_GBR.best_score_, grid_GBR.best_params_))
python tensorflow keras lstm
1个回答
0
投票

我遇到了同样的问题,我解决了在上面添加导入指令以安装 scikeras 有 KerasClassifier

https://adriangb.com/scikeras/stable/migration.html

© www.soinside.com 2019 - 2024. All rights reserved.