es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El parámetro de activación no funciona en GridSearch.

Estoy tratando de hacer una GridSearch para encontrar los mejores parámetros, así:

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)

Y estoy obteniendo el siguiente error:

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()

Tags:  ,

Answer

  1. Avatar for davy.ai

    El error está diciendo que el parámetro ‘activation’ no es válido para el KerasClassifier. La solución es establecer ese parámetro en el constructor para el KerasClassifier, de la siguiente manera:

    classifier = KerasClassifier(build_fn = MultiPerceptron, validation_split = 0.1, validation_batch_size = 50, activation = 'relu')
    

    También puedes verificar la lista de parámetros disponibles para el estimador utilizando estimator.get_params().keys(). Esto te puede ayudar a identificar cualquier otro parámetro no válido que pueda estar causando errores.

Comments are closed.