У меня есть небольшой вопрос, который я не могу решить.
Я хочу внедрить модель CNN с полностью подключенным MLP в мою базу данных белков, которая содержит 2589 белков.Каждый белок имеет 1287 строк и 69 столбцов в качестве входных данных и 1287 строк и 8 столбцов в качестве выходных данных.На самом деле был вывод 1287x1, но я использовал одну горячую кодировку для меток классов, чтобы использовать потерю кроссентропии в моей модели.
Также я хочу
, если мы рассматриваем как изображение, у меня есть 3D-матрица **X_train = (2589, 1287, 69) для ввода ** и y_train = (2589, 1287, 8) для вывода , я имею в виду, что вывод также является матрицей.
Ниже моих кодов кератов:
model = Sequential()
model.add(Conv2D(64, kernel_size=3, activation="relu", input_shape=(X_train.shape[1],X_train.shape[2])))
model.add(Conv2D(32, kernel_size=3, activation="relu"))
model.add(Flatten())
model.add(Dense((8), activation="softmax"))
Но я столкнулся с ошибкой о плотном слое:
ValueError: Error when checking target: expected dense_1 to have 2 dimensions, but got array with shape (2589, 1287, 8)
Хорошо, я понимаю, что плотность должна принимать положительное целое число (объяснение в документации Keras.).Но как я могу реализовать матричный вывод для моей модели?
Я пробовал это:
model.add(Dense((1287,8), activation="softmax"))
и что-то еще, но я не мог найти никакого решения.
Большое спасибо.