model = Sequential()
model.add(Conv1D(filters=4, kernel_size=(1), activation="relu", input_shape=(4,1)))
model.add(MaxPooling1D(pool_size=(1)))
model.add(Dropout(0.25))
model.add(Conv1D(filters=32, kernel_size=(1), activation='relu'))
model.add(MaxPooling1D(pool_size=(1)))
model.add(Dropout(0.25))
model.add(Conv1D(filters=64, kernel_size=(1), activation="relu"))
model.add(MaxPooling1D(pool_size=(1)))
model.add(Dropout(0.25))
model.add(Conv1D(filters=64, kernel_size=(1), activation='relu'))
model.add(MaxPooling1D(pool_size=(1)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(7, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
Здравствуйте, я новичок в построении нейронных сетей и решил попробовать свои силы в решении задачи классификации с несколькими метками. Я беру четыре значения функции в качестве входных и даю результирующую классификацию как одну или несколько из 7 категорий. Таким образом, я решил реализовать нейронную сеть, как показано выше. Однако после установки модели
model.fit(X_train, y_train, epochs = 10, validation_data = (X_test,y_test), batch_size = 64)
я получаю эту ошибку:
Error when checking input: expected conv1d_92_input to have 3 dimensions, but got array with shape (415, 4)
Я не понимаю, что нужно делать, чтобы нейронная сеть соответствовала данным. . Форма данных объекта и метки соответственно: X_train = (414,4) y_train = (413,7)