Skip to content
official implementation for the paper "Simplifying Graph Convolutional Networks"
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
SGC-tuning Code Release Mar 13, 2019
data Code Release Mar 13, 2019
downstream/TextSGC add preprocessed data. Apr 3, 2019
.gitignore Code Release Mar 13, 2019
LICENSE Code Release Mar 13, 2019 Merge branch 'master' of Jun 11, 2019 Code Release Mar 13, 2019 Code Release Mar 13, 2019 Code Release Mar 13, 2019
model.jpg Code Release Mar 13, 2019 Code Release Mar 13, 2019 Code Release Mar 13, 2019 Code Release Mar 13, 2019
requirements.txt fix typos. Apr 3, 2019 Code Release Mar 13, 2019 fix typo. Apr 3, 2019

Simplifying Graph Convolutional Networks


*: Equal Contribution


This repo contains an example implementation of the Simple Graph Convolution (SGC) model, described in the ICML2019 paper Simplifying Graph Convolutional Networks.

SGC removes the nonlinearities and collapes the weight matrices in Graph Convolutional Networks (GCNs) and is essentially a linear model. For an illustration,

SGC achieves competitive performance while saving much training time. For reference, on a GTX 1080 Ti,

Dataset Metric Training Time
Cora Acc: 81.0 % 0.13s
Citeseer Acc: 71.9 % 0.14s
Pubmed Acc: 78.9 % 0.29s
Reddit F1: 94.9 % 2.7s

This home repo contains the implementation for citation networks (Cora, Citeseer, and Pubmed) and social network (Reddit). We have a work-in-progress branch ablation, containing additional codebase for our ablation studies.

If you find this repo useful, please cite:

  title = 	 {Simplifying Graph Convolutional Networks},
  author = 	 {Wu, Felix and Souza, Amauri and Zhang, Tianyi and Fifty, Christopher and Yu, Tao and Weinberger, Kilian},
  booktitle = 	 {Proceedings of the 36th International Conference on Machine Learning},
  pages = 	 {6861--6871},
  year = 	 {2019},
  publisher = 	 {PMLR},

Other reference implementations

Other reference implementations can be found in the follwing libraries. Note that in these examples, the hyperparameters are potentially different and the results would be different from the paper reported ones.


Our implementation works with PyTorch>=1.0.0 Install other dependencies: $ pip install -r requirement.txt


We provide the citation network datasets under data/, which corresponds to the public data splits. Due to space limit, please download reddit dataset from FastGCN and put reddit_adj.npz, reddit.npz under data/.


Citation Networks: We tune the only hyperparameter, weight decay, with hyperopt and put the resulting hyperparameter under SGC-tuning. See for more details on hyperparameter optimization.

$ python --dataset cora --tuned
$ python --dataset citeseer --tuned --epochs 150 
$ python --dataset pubmed --tuned


$ python --inductive --test


We collect the code base for downstream tasks under downstream. Currently, we are releasing only SGC implementation for text classification. More downstream tasks are coming soon.


This repo is modified from pygcn, and FastGCN.

We thank Deep Graph Library team for helping providing a reference implementation of SGC and benchmarking SGC in Deep Graph Library. We thank Matthias Fey, author of PyTorch Geometric, for his help on providing a reference implementation of SGC within PyTorch Geometric. We thank Daniele Grattarola, author of Spektral, for his help on providing a reference implementation of SGC within Spektral.

You can’t perform that action at this time.