Добавление слоя активации в слой Keras Add () и использование этого слоя в качестве выходного для модели - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь применить softmax activation layer к выходу слоя Add().Я пытаюсь сделать этот слой выводом моей модели, и у меня несколько проблем.

Кажется, слой Add() не позволяет использовать активации, и если я делаю что-то вроде этого:

predictions = Add()([x,y])
predictions = softmax(predictions)
model = Model(inputs = model.input, outputs = predictions)

Я получаю:

ValueError: Output tensors to a Model must be the output of a Keras `Layer` (thus holding past layer metadata). Found: Tensor("Softmax:0", shape=(?, 6), dtype=float32)

1 Ответ

3 голосов
/ 12 апреля 2019

Это не имеет никакого отношения к слою Add, вы используете K.softmax непосредственно для тензоров Keras, и это не сработает, вам нужен настоящий слой.Вы можете использовать слой Activation для этого:

from keras.layers import Activation

predictions = Add()([x,y])
predictions = Activation("softmax")(predictions)
model = Model(inputs = model.input, outputs = predictions)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...