mirror of
https://github.com/dmlc/dgl.git
synced 2026-06-03 19:34:33 +08:00
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}
}