项目文件夹

文件
Hengrui Zhang b2b531e041 [Example] add implementation of grace (#2828)
* [Example] add implementation of grace

* [Doc] add grace in the index file

* fix

* fix typos

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-04-27 12:43:03 +08:00

2.2 KiB

DGL Implementation of GRACE

This DGL example implements the model proposed in the paper Deep Graph Contrastive Representation Learning.

Author's code: https://github.com/CRIPAC-DIG/GRACE

Example Implementor

This example was implemented by Hengrui Zhang when he was an applied scientist intern at AWS Shanghai AI Lab.

Dependencies

  • Python 3.7
  • PyTorch 1.7.1
  • dgl 0.6.0

Datasets

Unsupervised Node Classification Datasets:

'Cora', 'Citeseer' and 'Pubmed'

Dataset # Nodes # Edges # Classes
Cora 2,708 10,556 7
Citeseer 3,327 9,228 6
Pubmed 19,717 88,651 3

Arguments

--dataname         str     The graph dataset name.                Default is 'cora'.
--gpu              int     GPU index.                             Default is 0.
--split            int     Dataset spliting method.               Default is 'random'.

How to run examples

In the paper(as well as authors' repo), the training set and testing set are split randomly with 1:9 ratio. In order to fairly compare it with other models with the split they used, termed public split, in this repo we also provide experiment results using public split. To run the examples,

# Cora with random split
python main.py --dataname cora

# Cora with public split
python main.py --dataname cora --split public

replace 'cora' with 'citeseer' or 'pubmed' if you would like to run this example for other datasets.

Performance

We use the same hyperparameter settings as provided by the author, you can check config.yaml for detailed hyper-parameters for each dataset.

Random split (Train/Test = 1:9)

Dataset Cora Citeseer Pubmed
Accuracy Reported 83.3 72.1 86.7
Author's Code 83.1 71.0 86.3
DGL 83.4 71.4 86.1

Public split

Dataset Cora Citeseer Pubmed
Author's Code 79.9 68.6 81.3
DGL 80.1 68.9 81.2