dmlc--dgl
b84de903a2
Correction like mentioned in #4969 I noticed that there is a normalisation step on line 97 while the normalised values are not used downstream. Even if this was meant to show the normalisation step, it would not be calculating the normalisation step described in the CGN paper. The paper considers both in and out degrees while the normalisation in the code only describes normalisation using the in degrees. In the end, the normalised values are assigned to g.ndata["norm"] but these values are not used afterwards. Having a normalisation step here is also unnecessary since the GraphConv layer that is used already takes care of the normalisation. https://docs.dgl.ai/en/0.9.x/_modules/dgl/nn/pytorch/conv/graphconv.html#GraphConv It confused me for a second thinking that I had to do the normalisation myself but this is already handled by the GraphConf.
Graph Convolutional Networks (GCN)
- Paper link: https://arxiv.org/abs/1609.02907
- Author's code repo: https://github.com/tkipf/gcn.
How to run
DGL built-in GraphConv module
Run with the following (available dataset: "cora", "citeseer", "pubmed")
python3 train.py --dataset cora
Summary
- cora: ~0.810 (paper: 0.815)
- citeseer: ~0.707 (paper: 0.703)
- pubmed: ~0.792 (paper: 0.790)