Keras 2: Использование лямбда-функции в слоях «Слияние» - PullRequest
1 голос
/ 20 апреля 2019

Я пытаюсь реализовать этот слой слияния:

policy = merge([out1, out2], mode = lambda x: x[0]-K.mean(x[0])+x[1], output_shape = (out_node,))

Однако «слияние» больше не присутствует в Keras 2. Вы можете получить доступ только к общедоступным стандартизированным слоям «Слияние», таким как «Добавить», «Умножить», «Точка».

Как я могу реализовать эту функцию в Keras 2? Я думал о создании двух слоев слияния, но понятия не имею, как это реализовать, особенно из-за части "K.mean".

Для справки вот импорт:

from keras.layers import merge
from keras import backend as K

1 Ответ

2 голосов
/ 20 апреля 2019

Вы можете просто сделать это, используя слой Lambda:

from keras import backend as K
from keras.layers import Lambda

policy = Lambda(lambda x: x[0] - K.mean(x[0]) + x[1])([out1, out2])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...