我的模型如下:
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期间会发生什么一样?