0
def build_model(optimizer):
    grid_model = Sequential()
    grid_model.add(LSTM(50,return_sequences=True,input_shape=(30,5)))
    grid_model.add(LSTM(50))
    grid_model.add(Dropout(0.2))
    grid_model.add(Dense(1))

    grid_model.compile(loss = 'mse',optimizer = optimizer)
    return grid_model

grid_model = KerasRegressor(build_fn=build_model,verbose=1,validation_data=(testX,testY))

parameters = {'batch_size' : [16,20],
              'epochs' : [8,10],
              'optimizer' : ['adam','Adadelta'] }

grid_search  = GridSearchCV(estimator = grid_model,
                            param_grid = parameters,
                            cv = 2)
grid_search = grid_search.fit(trainX,trainY)
> RuntimeError: Cannot clone object
> <tensorflow.python.keras.wrappers.scikit_learn.KerasRegressor object
> at 0x000001FDE52FAEB0>, as the constructor either does not set or
> modifies parameter validation_data
S.C
  • 1
  • 1
  • A similar question was asked and answered which may be of some help to you, https://stackoverflow.com/questions/59746974/cannot-clone-object-tensorflow-python-keras-wrappers-scikit-learn-kerasclassifi – Oli May 05 '22 at 16:30
  • Can you please change the list into tuple as `parameters = {'batch_size' : (16,20), 'epochs' : (8,10), 'optimizer' : ('adam','Adadelta')}` and let us know. For more workarounds please refer to solutions discussed in [this thread](https://github.com/keras-team/keras/issues/13586) may help you.Thank you. –  May 16 '22 at 07:22

0 Answers0