ValueError: Вход 0 несовместим со слоем conv1d_1: ожидаемый ndim = 3, найденный ndim = 4. Невозможно найти ошибку - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь создать нейронную сеть для обучения преобразованию звука Constant-Q (одинаковой длины), но получаю вышеупомянутую ошибку

Определение формы параметра в соответствии с созданным набором данных

X_train.shape = (10664, 96, 87, 1)
X_test.shape = (2666, 96, 87, 1)
X_validate.shape = (2666, 96, 87, 1)
Y_train.shape = (10664,)
Y_test.shape = (2666,)
Y_validate.shape = (2666,)

img_rows, img_cols = X_train.shape[1], X_train.shape[2]
input_shape = (img_rows, img_cols, 1)

model = Sequential()

model.add(Conv1D(filters = filters_1, kernel_size = kernel_1, padding='valid', activation='relu', input_shape = input_shape))
model.add(MaxPooling1D(pool_size = 4))
model.add(Conv1D(filters = filters_2, kernel_size = kernel_1, padding='valid', activation='relu'))
model.add(MaxPooling1D(pool_size = 4))
model.add(Conv1D(filters = filters_3, kernel_size = kernel_1, padding='valid', activation='relu'))
model.add(MaxPooling1D(pool_size = 2))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(2048, activation = 'relu'))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(), metrics=['accuracy'])

model.summary()
...