Keras: передать выход на вход определенной модели - PullRequest
0 голосов
/ 07 июня 2018

Предположим, у меня есть модель в Керасе, структура которой уже зафиксирована.Эта модель получила два входа и один выход.Вывод последнего шага должен использоваться для расчета текущего выхода. Набросок проблемы

Мой подход выглядит так:

model_1 = load_model(...)

x = Input(shape=(1,), name="input1")
input_concat = Concatenate([x, y])
y = model_1(input_concat)

Я уже опробовал, что bstriner на github предложено добавить (я обменял model_1 на простой Dense(1) -слой для воспроизводимости):

x = Input(shape=(1,), name="input1")
y = K.zeros(shape=(1,))
input_concat = Concatenate([x, y])
y = Dense(1)(input_concat)

.. но, очевидно, Concatenate не работает с K.zeros (..)решение.(Он также не работает с Add() -Layer вместо Concatenate() -Layer, поскольку после компиляции всей модели с помощью model_total = Model(inputs=x, outputs=y появляется следующая ошибка

'Variable' объект имеетбез атрибута '_keras_history'

Заранее спасибо!

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете попробовать заменить исходный слой ввода, который является слоем 0.

model_1 = load_model(...)
model_1.layers[0] = new_input_layer

Однако я все еще не уверен, будет ли это вести себя так, как вы ожидаете.Вы собираетесь превратить модель прямой связи в рекурсивную сеть.Я полагаю, вы не сможете его тренировать.

...