Keras: сохранить значения последовательности в RNN без использования в качестве входных данных на следующем уровне - PullRequest
0 голосов
/ 09 мая 2018

Я хочу интерпретировать RNN, просматривая значения последовательности за последовательностью. Эти значения можно вывести с помощью return_sequence. Однако эти значения затем используются в качестве входных данных для следующего уровня (например, плотного уровня активации). Я хотел бы вывести только последнее значение, но записать все значения по всей последовательности для интерпретации. Какой самый простой способ сделать это?

1 Ответ

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

Создайте две модели с одним и тем же слоем, но в одной из них вы добавите Плотный слой только с последним шагом RNN:

inputs = Input(inputShape)
outs = RNN(..., return_sequences=True)(inputs)

modelSequence = Model(inputs,outs)

#take only the last step
outs = Lambda(lambda x: x[:,-1])(outs)
outs = Dense(...)(outs)

modelSingle = Model(inputs,outs)

Используйте modelSingle,fit(x_data,y_data), чтобы тренироваться как обычно.
Используйте modelSequence.predict(x_data), чтобы увидеть результаты RNN без обучения.

...