You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all thank you so much for this elegant implementation! I have a few questions about the graph pooling methods, your help is very appreciated.
If I understand the code correctly, graph pooling layers such as TopKPool and SAGPool take node features X and adjacency matrix A and return X' and A', where the original A is subset by a ranking score constructed by X (with A, in the case of SAGPool) and some trainable weights. It was my understanding that in the case of gPool, input to the layer should be the original adjacency matrix with out self loop and normalization. In the case of SAGPool, however, a GCN filter has to be applied to calculate the ranking score, so it requires $\hat \D^{-1/2} \hat \A \hat \D^{-1/2}$ . If the preprocessed A is supplied to the SAGPool layer, it would return a subset of the normalized A. Is this the expected behavior?
Also, according to the docs, when return_mask=True, pooling layers return a mask of the output size ratio*n_nodes, but as it's the mask for the input, the size is n_nodes (which is expected).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi spektral developers,
First of all thank you so much for this elegant implementation! I have a few questions about the graph pooling methods, your help is very appreciated.
If I understand the code correctly, graph pooling layers such as$\hat \D^{-1/2} \hat \A \hat \D^{-1/2}$ . If the preprocessed A is supplied to the SAGPool layer, it would return a subset of the normalized A. Is this the expected behavior?
TopKPool
andSAGPool
take node features X and adjacency matrix A and return X' and A', where the original A is subset by a ranking score constructed by X (with A, in the case of SAGPool) and some trainable weights. It was my understanding that in the case of gPool, input to the layer should be the original adjacency matrix with out self loop and normalization. In the case of SAGPool, however, a GCN filter has to be applied to calculate the ranking score, so it requiresAlso, according to the docs, when
return_mask=True
, pooling layers return a mask of the output size ratio*n_nodes, but as it's the mask for the input, the size is n_nodes (which is expected).Thanks again!
Beta Was this translation helpful? Give feedback.
All reactions