diff --git a/keras/models/functional.py b/keras/models/functional.py index e4732aff6cb4..d42ea29a1317 100644 --- a/keras/models/functional.py +++ b/keras/models/functional.py @@ -553,6 +553,10 @@ def process_layer(layer_data): def get_tensor(layer_name, node_index, tensor_index): assert layer_name in created_layers layer = created_layers[layer_name] + if issubclass(layer.__class__, Functional): + # Functional models start with a pre-existing node + # linking their input to output. + node_index -= 1 layer_output_tensors = layer._inbound_nodes[node_index].output_tensors return layer_output_tensors[tensor_index]