Adapted from CheriseZhu/RSHN.
We add GCN and GAT comparison and tried to reproduce the result in the RSHN paper.
- Python 3.8.5
- torch 1.4.0 cuda 10.1
- dgl 0.5.2 cuda 10.1
- torch_geometric 1.6.1 cuda 10.1 with latest torch_sparse etc. (Install as guided in here)
- Download data.zip from tsinghua-cloud or google-drive
- unzip data.zip to the current directory
- cd model
- run RSHN_gnn.py
python RSHN_gnn.py --dataset AIFB --model gcn
python RSHN_gnn.py --dataset AIFB --model gat
python RSHN_gnn.py --dataset MUTAG --model gcn
python RSHN_gnn.py --dataset MUTAG --model gat
python RSHN_gnn.py --dataset BGS --model gcn --sparse_input 1
python RSHN_gnn.py --dataset BGS --model gat --sparse_input 1 --weight_decay 5e-4 --epoch 60
It's very unreasonable that no validation set is split and the best score in test set among all epoches are reported. However, we follow this setting as in paper in this experiment.
GCN | GAT | RSHN | |
---|---|---|---|
AIFB | 97.22 | 100.0 | 97.22 |
MUTAG | 79.41 | 80.88 | 82.35 |
BGS | 96.55 | 100.0 | 93.1 |
The following content is from the initial CheriseZhu/RSHN repo.
The implementation of our ICDM 2019 paper "Relation Structure-Aware Heterogeneous Graph Neural Network" RSHN. Slides.
python == 3.6.2
torch == 1.1.0
numpy == 1.16.4
scipy == 1.2.0
torch_geometric == 1.0.0
numba == 0.42.1
The data folder includes our propocessed data for training and testing.
The orginal datasets can be founded from here.
The model folder includes our proposed model "RSHN".
The build_coarsened_line_graph folder includes utils used in model.
The torch_geometeric/nn/conv folder includes the designed convolution layers used in model.
cd model
python RSHN.py --dataset AIFB --lr 0.01 --weight_decay 5e-4 --dim 16 --num_node_layer 2 --num_edge_layer 1 --dropout 0.6 --epoch 50
@inproceedings{zhu2019RSHN
author={Shichao Zhu and Chuan Zhou and Shirui Pan and Xingquan Zhu and Bin Wang},
title={Relation Structure-Aware Heterogeneous Graph Neural Network},
journal={IEEE International Conference On Data Mining (ICDM)},
year={2019}
}