Grid seach is unavailable for Keras in case of multiple outputs? I do experiments with the following Keras architecture with multiple outputs:

def create_model(conv_kernels = 32, dense_nodes = 512):
    model_input=Input(shape=(img_channels, img_rows, img_cols))
    x = Convolution2D(conv_kernels, (3, 3), padding ='same', kernel_initializer='he_normal')(model_input)
    x = Activation('relu')(x)
    x = MaxPooling2D(pool_size=(2, 2))(x)
    x = Convolution2D(conv_kernels, (3, 3), kernel_initializer='he_normal')(x)
    x = Activation('relu')(x)
    x = MaxPooling2D(pool_size=(2, 2))(x)
    x = Dropout(0.25)(x)
    x = Flatten()(x)

    conv_out = (Dense(dense_nodes, activation='relu', kernel_constraint=maxnorm(3)))(x)

    x1 = Dense(nb_classes, activation='softmax')(conv_out)
    x2 = Dense(nb_classes, activation='softmax')(conv_out)
    x3 = Dense(nb_classes, activation='softmax')(conv_out)
    x4 = Dense(nb_classes, activation='softmax')(conv_out)

    lst = [x1, x2, x3, x4]

    model = Model(inputs=model_input, outputs=lst)
    sgd = SGD(lr=lrate, momentum=0.9, decay=lrate/nb_epoch, nesterov=False)
    model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])

    return model


When I try to apply grid search this way:

model = KerasClassifier(build_fn=create_model1, epochs=nb_epoch, batch_size=batch_size, verbose=0)
param_grid = dict(conv_kernels = [16, 32, 64], dense_nodes = [128, 256, 512])
grid = GridSearchCV(estimator=model, cv=4, param_grid=param_grid, n_jobs=-1)
grid_result = grid.fit(X_train, Y_train)


I get the following error message:


  ValueError: Found input variables with inconsistent numbers of samples: [9416, 4]


9416 is the number of training examples, 4 is the model output number.

What is the problem here? Grid search is unavailable for multiple outputs? If so, what is the best way to apply parameter search (apart from pure manual method)?
It does not appear possible  as stated here.  The problem is basically how sklearn expects it's input.  Currently it only accepts a 2d array.  I think it'll be rather straight forward to go to sklearn wrapper and modify is so that it can accept multiple arrays.