tkipf / gcn

Implementation of Graph Convolutional Networks in TensorFlow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is the model architectural difference between transductive GCN and inductive GraphSAGE?

guotong1988 opened this issue · comments

Difference of the model design.

It seems the difference is that GraphSAGE sample the data.

But what is the difference in model architecture.

Thank you very much.

@tkipf

Thank you very much.

No worries :) I'll leave this open since this question seems to appear quite frequently (so others can more easily find it).

I have a followup question.

I noticed that, despite what said above by @tkipf, Pytorch Geometric has a different implementation for GraphSAGE and GCN. To the best of my knowledge the neighbors subsampling is implemented by NeighborLoader (an 'external' DataLoader), so I haven't understood why keeping two separate implementations.

In addition, by looking at the PyG documentation:

image

image

So, it seems that the difference between the two is that GraphSAGE runs a simple mean of nearby embeddings, while GCN applies a weighted mean, with weights the normalization coefficients.

Is this the right architectural difference or is just a PyG implementation difference?

Thanks