Слой «sequential_29» ожидает 1 входной сигнал(ы), но получил 3 входных тензора. Полученные входные данные: [, , ]
Я искал везде, но мне не удалось запустить GridSearchCV.
Моя модель выглядит так:
Код: Выделить всё
def cnn_model(size):
model = Sequential()
model.add(Conv2D(16,3,input_shape=size, activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(32,3,input_shape=size, activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(16,3,input_shape=size, activation='relu', padding='same'))
model.add(Dropout(0.2))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(100, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.compile('adam', loss=tf.losses.BinaryCrossentropy(), metrics=['accuracy'])
#print(model.summary())
return model
Теперь, когда я попытался запустить GridSearchCV с теми же данными:
Код: Выделить всё
model_wopad2 = KerasClassifier(lambda:model_wopad(IMAGE_SIZE), verbose = 1)
grid = GridSearchCV(estimator = model_wopad2, param_grid = param_grid, scoring="accuracy", verbose = 1)
grid_results = grid.fit(X_train,y_train, validation_data=(X_val, Y_val))
Есть ли у вас какие-либо идеи о том, как изменить форму данных (или других данных), чтобы запустить эту функцию?
Я также видел, что мы можем создать свою собственную функцию GridSearch, но мне это тоже не удалось
Я уже пытался изменить форму модели в функции KerasClassifier.
Я пытался изменить форму данных X_train, но не знал, в чем проблема с реальной формой
Подробнее здесь: https://stackoverflow.com/questions/786 ... ut-tensors