Skip to content

Latest commit

 

History

History
 
 

directional_GSN

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

directional_GSN

Introduction

This is an example of implementing directional_GSN for graph classification in DGL.

directional_GSN is a combination of Graph Substructure Networks (GSN) with Directional Graph Networks (DGN), where we defined a vector field based on substructure encoding instead of Laplacian eigenvectors.

The script in this folder experiments directional_GSN on ogbg-molpcba dataset.

Installation requirements

conda create --name gsn python=3.7
conda activate gsn
conda install pytorch==1.11.0 cudatoolkit=10.2 -c pytorch
pip install tqdm
pip install networkx
conda install -c conda-forge graph-tool
pip install ogb
pip install dgl-cu102 -f https://data.dgl.ai/wheels/repo.html

Experiments

We fix the random seed to 41, and train the model on a single Tesla T4 GPU with 16GB memory.

ogbg-molpcba

performance

train_AP valid_AP test_AP #parameters
directional_GSN 0.4301 0.2598 0.2438 5142713

Reproduction of performance

python preprocessing.py
python main.py --seed 41 --epochs 450 --hidden_dim 420 --out_dim 420 --dropout 0.2

References

@article{bouritsas2020improving,
  title={Improving graph neural network expressivity via subgraph isomorphism counting},
  author={Bouritsas, Giorgos and 
          Frasca, Fabrizio and 
          Zafeiriou, Stefanos and 
          Bronstein, Michael M},
  journal={arXiv preprint arXiv:2006.09252},
  year={2020}
}