Я хотел бы применить одномерную свертку к последовательности ДНК фиксированного размера с использованием керас.
Последовательность ДНК имеет длину 45 оснований.Каждая последовательность была закодирована в горячем виде.Есть один фильтр с размером ядра = 3. См. Рисунок ниже:
У меня есть 1000 последовательностей для моего обучения.Тогда форма x_train: (1000, 45, 4).
Цель - True / False с формой: (1000,)
Я пытался использовать керары следующим образом:
K.clear_session ()
model = Sequential()
#add model layers
model.add(Conv1D(1, kernel_size=1, activation="relu", input_shape =(1000,45)))
#model.add(Flatten())
#model.add(Dense(2, activation="softmax"))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit (x_train, y_train, epochs = 10)
Но я получаю следующую ошибку:
ValueError: Error when checking input: expected conv1d_1_input to have shape (1000, 45) but got array with shape (45, 4)