Я пытаюсь выполнить сетку поиска по моим гиперпараметрам для настройки архитектуры глубокого обучения.У меня есть несколько вариантов ввода для модели, и я пытаюсь использовать API поиска сетки sklearn.Проблема в том, что API-интерфейс поиска по сетке принимает только один массив в качестве входных данных, и код не выполняется, пока он проверяет измерение размера данных. (Мое входное измерение - 5 * количество точек данных, в то время как в соответствии с API-интерфейсом sklearn это должно быть число точек данных.* размерность объекта).Мой код выглядит примерно так:
from keras.layers import Concatenate, Reshape, Input, Embedding, Dense, Dropout
from keras.models import Model
from keras.wrappers.scikit_learn import KerasClassifier
def model(hyparameters):
a = Input(shape=(1,))
b = Input(shape=(1,))
c = Input(shape=(1,))
d = Input(shape=(1,))
e = Input(shape=(1,))
//Some operations and I get a single output -->out
model = Model([a, b, c, d, e], out)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
return model
k_model = KerasClassifier(build_fn=model, epochs=150, batch_size=512, verbose=2)
# define the grid search parameters
param_grid = hyperparameter options dict
grid = GridSearchCV(estimator=k_model, param_grid=param_grid, n_jobs=-1)
grid_result = grid.fit([a_input, b_input, c_input, d_input, e_input], encoded_outputs)