Если вы хотите использовать поиск по сетке, как в sci-kit learn, вы можете использовать оболочку KerasClassifier.Вы просто создаете свою модель в своей функции.
def create_model(dropout_rate):
#...
model = KerasClassifier(build_fn=create_model)
param_grid = dict(dropout_rate=[0.2,0.3,0.5])
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1)
grid_result = grid.fit(X, Y)
https://machinelearningmastery.com/grid-search-hyperparameters-deep-learning-models-python-keras/
К сожалению, этот подход ограничен, так как у вас нет проверки после каждой эпохи.Чтобы решить эту проблему, вам нужно реализовать свой собственный KerasClassifier.
https://github.com/keras-team/keras/issues/4278