Как внедрить слой слияния керас с режимом как любую пользовательскую функцию - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь реализовать статью о смеси экспертов CNN, и мне нужно добавить слои слияния как взвешенную сумму выходных данных каждой CNN, где вес - это выход сети стробирования. Так что мой режим - это пользовательская функция.

Вот код, который я пытаюсь запустить:

def merge_mode(branches):
    g, o1, o2, o3, o4 = branches

    return K.transpose(K.transpose(o1)*g[:,0] + K.transpose(o2)*g[:,1] +             K.transpose(o3)*g[:,2] + K.transpose(o4)*g[:,3])

model = Sequential()
model.add(merge([gate, model1, model2, model3, model4], output_shape=(3,), mode=merge_mode))
...