/DropEdge

This is a Pytorch implementation of paper: DropEdge: Towards Deep Graph Convolutional Networks on Node Classification

Primary LanguagePythonMIT LicenseMIT

DropEdge: Towards Deep Graph Convolutional Networks on Node Classification

PWC PWC PWC PWC

This is a Pytorch implementation of paper: DropEdge: Towards Deep Graph Convolutional Networks on Node Classification

Requirements

  • Python 3.6.2
  • For the other packages, please refer to the requirements.txt.

Usage

To run the demo: sh run.sh

All scripts of different models with parameters for Cora, Citeseer and Pubmed are in scripts folder. You can reproduce the results by:

pip install -r requirements.txt
sh scripts/supervised/cora_IncepGCN.sh

Data

The data format is same as GCN. We provide three benchmark datasets as examples (see data folder). We use the public dataset splits provided by Planetoid. The semi-supervised setting strictly follows GCN, while the full-supervised setting strictly follows FastGCN and ASGCN.

Benchmark Results

For the details of backbones in Tables, please refer to the Appendix B.2 in the paper. All results are obtained on GPU (CUDA Version 9.0.176).

Full-supervised Setting Results

The following table demonstrates the testing accuracy (%) comparisons on different backbones and layers w and w/o DropEdge.

DatasetBackbone2 layers4 layers8 layers16 layers32 layers64 layers
OrignalDropEdgeOrignalDropEdgeOrignalDropEdgeOrignalDropEdgeOrignalDropEdgeOrignalDropEdge
CoraGCN86.1086.5085.5087.6078.7085.8082.1084.3071.6074.6052.0053.20
ResGCN--86.0087.0085.4086.9085.3086.9085.1086.8079.8084.80
JKNet--86.9087.7086.7087.8086.2088.0087.1087.6086.3087.90
IncepGCN--85.6087.9086.7088.2087.1087.7087.4087.7085.3088.20
GraphSage87.8088.1087.1088.1084.3087.1084.1084.5031.9032.2031.9031.90
CiteseerGCN75.9078.7076.7079.2074.6077.2065.2076.8059.2061.4044.6045.60
ResGCN--78.9078.8077.8078.8078.2079.4074.4077.9021.2075.30
JKNet--79.1080.2079.2080.2078.8080.1071.7080.0076.7080.00
IncepGCN--79.5079.9079.6080.5078.5080.2072.6080.3079.0079.90
GraphSage78.4080.0077.3079.2074.1077.1072.9074.5037.0053.6016.9025.10
PubmedGCN90.2091.2088.7091.3090.1090.9088.1090.3084.6086.2079.7079.00
ResGCN--90.7090.7089.6090.5089.6091.0090.2091.1087.9090.20
JKNet--90.5091.3090.6091.2089.9091.5089.2091.3090.6091.60
IncepGCN--89.9091.6090.2091.5090.8091.30OOM90.50OOM90.00
GraphSage90.1090.7089.4091.2090.2091.7083.5087.8041.3047.9040.7062.30

Semi-supervised Setting Results

The following table demonstrates the testing accuracy (%) comparisons on different backbones and layers w and w/o DropEdge.

DatasetMethod2 layers4 laysers8 layers16 layers32 layers64 layers
OrignalDropEdgeOrignalDropEdgeOrignalDropEdgeOrignalDropEdgeOrignalDropEdgeOrignalDropEdge
CoraGCN81.1082.8080.4082.0069.5075.8064.9075.7060.3062.5028.7049.50
ResGCN--78.8083.3075.6082.8072.2082.7076.6081.1061.1078.90
JKNet--80.2083.3080.7082.6080.2083.0081.1082.5071.5083.20
IncepGCN--77.6082.9076.5082.5081.7083.1081.7083.1080.0083.50
CiteseerGCN70.8072.3067.6070.6030.2061.4018.3057.2025.0041.6020.0034.40
ResGCN--70.5072.2065.0071.6066.5070.1062.6070.0022.1065.10
JKNet--68.7072.6067.7071.8069.8072.6068.2070.8063.4072.20
IncepGCN--69.3072.7068.4071.4070.2072.5068.0072.6067.5071.00
PubmedGCN79.0079.6076.5079.4061.2078.1040.9078.5022.4077.0035.3061.50
ResGCN--78.6078.8078.1078.9075.5078.0067.9078.2066.9076.90
JKNet--78.0078.7078.1078.7072.6079.1072.4079.2074.5078.90
IncepGCN--77.7079.5077.9078.6074.9079.00OOMOOMOOMOOM

Change Log

  • 2020-03-04: Support for tensorboard and added an example in src/train_new.py. Thanks for MihailSalnikov.
  • 2019-10-11: Support both full-supervised and semi-supervised task setting for Cora, Citeseer and Pubmed. See --task_type option.

References

@inproceedings{
rong2020dropedge,
title={DropEdge: Towards Deep Graph Convolutional Networks on Node Classification},
author={Yu Rong and Wenbing Huang and Tingyang Xu and Junzhou Huang},
booktitle={International Conference on Learning Representations},
year={2020},
url={https://openreview.net/forum?id=Hkx1qkrKPr}
}