Попытка использовать вывод слоя в качестве входных данных для другого слоя (бэкэнд потока KERAS) - PullRequest
0 голосов
/ 12 мая 2018

Я использую Keras с Python 3. Я пытаюсь применить сеть, показанную во вложении модель . Последовательная модель мне не помогает, потому что порядок моей модели перемешан. Например, выход X1 используется в Y1 и X2. Мой код выглядит

conv1= (Convolution3D(32, 3, 3, 3, activation='relu', 
border_mode='same', name='conv1',
input_shape=(patch_size, img_rows, img_cols,3)))

input_1=conv1.output

lstm1=(ConvLSTM2D(filters=3, kernel_size=(3, 3),
padding='same', return_sequences=True))(input_1)

conv2= (Convolution3D(32, 3, 3, 3, activation='relu', 
border_mode='same', name='conv1'))(input_1)

input_2= conv2.output

lstm2=(ConvLSTM2D(filters=3, kernel_size=(3, 3),
padding='same', return_sequences=True))(input_2)

conv3= (Convolution3D(32, 3, 3, 3, activation='relu', 
border_mode='same', name='conv1'))(input_2)

input_3= conv3.output

lstm3=(ConvLSTM2D(filters=3, kernel_size=(3, 3),
padding='same', return_sequences=True))(input_3)

тогда я объединю LSTM. Я получаю много ошибок, таких как «Слой conv1 не имеет входящих узлов». Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 12 мая 2018

Вам не хватает понятий из функционального API . В вашем случае кажется, что вам не хватает слоя Input, который требуется для функциональной модели. Вам также не нужно получать .output для связывания слоев, достаточно просто вызвать их lstm3(conv3).

...