Параметр активации не работает в GridSearch

#keras #grid-search

#keras #сетка-поиск

Вопрос:

Я пытаюсь сделать поиск по сетке для наилучших параметров, как это:

 def MultiPerceptron(optimizer = 'adam', loss = 'binary_cross_entropy', kernel_initializer = 'random_uniform', activation = 'relu', units = 16):  model = Sequential()  model.add(InputLayer(30))  model.add(Dense(units = units, activation = activation, kernel_initializer = kernel_initializer))  model.add(Dense(units = units, activation = activation, kernel_initializer = kernel_initializer))  model.add(Dense(units = 1, activation = 'sigmoid'))  model.compile(optimizer = optimizer, loss = loss, metrics =['binary_accuracy'])  return model  classifier = KerasClassifier(build_fn = MultiPerceptron, validation_split = 0.1, validation_batch_size = 50) param = {'batch_size': [10, 30],  'epochs': [50, 100],  'optimizer': ['adam', 'sgd'],  'loss': ['binary_crossentropy', 'hinge'],  'kernel_initializer': ['random_uniform', 'normal'],  'activation': ['relu', 'tanh'],  'units': [16, 8]}  search = GridSearchCV(estimator = classifier, param_grid = param, scoring = 'accuracy', cv = 5) search = search.fit(x,y)  

И я получаю следующую ошибку:

 ValueError: Invalid parameter activation for estimator KerasClassifier. This issue can likely be resolved by setting this parameter in the KerasClassifier constructor: `KerasClassifier(activation=relu)` Check the list of available parameters with `estimator.get_params().keys()`  

Ответ №1:

Я думаю, что они что-то изменили, потому что я мог заставить это работать только при передаче activation=relu параметра KerasClassifier .

Другие параметры там не нужны.