This is typically the logit or softmax output.
if len(model.inputs) != 3:
raise RuntimeError("Expected a GCN model with dense adjacency matrix")
// The placeholder for features and adjacency matrix (model input):
features_t, output_indices_t, adj_t = model.input
// Placeholder for class prediction (model output):
output = model.output
// The placeholder for the node index of interest. It is typically the index of the target test node.
self.node_idx = K.placeholder(shape=(), dtype="int32")
// The placeholder for the class of interest. One will generally use the winning class.
self.class_of_interest = K.placeholder(shape=(), dtype="int32")
// The input tensors for computing the node saliency map
node_mask_tensors = model.input + [
K.learning_phase(), // placeholder for mode (train or test) tense
self.class_of_interest,
]
// The input tensors for computing the link saliency map
link_mask_tensors = model.input + [K.learning_phase(), self.class_of_interest]
// node gradients are the gradients of the output"s component corresponding to the
// class of interest, w.r.t. input features of all nodes in the graph
self.node_gradients = model.optimizer.get_gradients(