Keras获取嵌套在另一个模型中的图层的输出(即嵌套模型图层的输出)

时间:2019-05-18 11:38:03

标签: python tensorflow keras

我的模型如下:

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_modelinput_left获得input_right层的输出,就像在fprop期间会发生什么一样?

0 个答案:

没有答案