Как объединить часть трех слоев в Керасе? - PullRequest
0 голосов
/ 30 декабря 2018

Я могу использовать keras.layers.concatenate для объединения двух слоев, а затем отправить их на следующий уровень, но если я хочу принять участие в двух слоях, объединить их и затем отправить их на следующий слой, что мне делать?

Например, я хочу взять часть первого конвил-слоя и часть второго конв-слоя и последнего пула, а затем объединить их вместе, чтобы сформировать один слой.Но Keras - это библиотека высокого уровня, как мы можем принять в них участие?

Вы можете лучше понять меня, взглянув на рисунок 2 на бумаге Сетевая сквозная обучаемая ориентированная на задачу система диалога .

1 Ответ

0 голосов
/ 30 декабря 2018

Ну, вы можете нарезать их по своему усмотрению, например, как нарезать массив или список Python, и использовать K.concatenate, все в слое Lambda.Например:

from keras import backend as K

# ...
out = Lambda(lambda x: K.concatenate([x[0][:,:10],
                                      x[1][:,:10],
                                      x[2][:,:10]], axis=the_concat_axis))([conv1, conv2, pool])

Обратите внимание, что первая ось является осью пакета, поэтому вы можете сохранить ее все (т.е. используйте :, как указано выше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...