Я строю сеть CNN-LSTM, и она работала нормально, пока я не распределял слои CNN по времени. Теперь программа выводит ошибку ValueError из-за разницы размеров, которую я не могу исправить, отрегулировав входные размеры. Я подозреваю, что ошибка может быть связана с разницей между размером вывода CNN и ожидаемым вводом LSTM, но я выровнял вывод, так что я действительно не знаю.
X_train = X_train.reshape(1772, 300, 188, 1)
X_test = X_test.reshape(586, 300, 188, 1)
y_train = np.array(y_train)
y_test = np.array(y_test)
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
model = Sequential()
model.add(TimeDistributed(Conv2D(64, kernel_size=(12, 12), activation='relu', input_shape=(1772, 300, 188, 1))))
model.add(TimeDistributed(Conv2D(128, (6, 6), activation='relu')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(4, 4))))
model.add(TimeDistributed(Flatten()))
model.add(LSTM(64))
model.add(Dense(4, activation='softmax'))