Керасы получают выходные данные для слоев, вложенных в другую модель (т. Е. Выходные данные для вложенных моделей) - PullRequest
0 голосов
/ 18 мая 2019

Моя модель выглядит так:

input_left = model.layers[0]
input_right = model.layers[1]
sub_model = model.layers[2]    # has 2 inputs and 2 outputs
loss_layer = model.layers[3]   # has 2 inputs and 1 output

Я могу получить вывод всех слоев, используя:

outputs = []
for i, _ in enumerate(layer._inbound_nodes):
        outputs.append(layer.get_output_at(i))
        # since my sub_model has multiple outputs
        # notion of sub_model.output does not make sense

get_all_layer_outputs = backend.function([*model.input, backend.learning_phase()],
                                         [*outputs])
output_of_all_layers = get_all_layer_outputs(x)

У меня есть модель, скажем, sub_model, вложенная в текущий model, и как мне получить выходные данные каждого слоя в пределах sub_model?

Что я пробовал:

for layer in sub_model.layers:
    outputs.append(layer)

При построении бэкэнд-функции с ее помощью меня просят ввести другой вход (кроме input_left, input_right). Даже если ввести его, только этот вход будет проходить через sub_model слои и даст мне вывод.

Как получить выходные данные sub_model слоев, используя фактические входные данные модели input_left и input_right, например, как это будет происходить во время fprop?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...