- Review recent data augmentation approaches for GNNs
- Experiments with following baseline models: GCN, GAT, GraphSage
- Data augmentation studied:
- Node-level augmentation : FLAG[1] git repository
- Topology-level augmentation : G-Aug[2] git repository
- Topology-level updates : DropEdge[3] git repository
optuna is used to find best parameters
- Python 3.8.2
- optuna==2.7.0
- torch==1.8.0
- torch-geometric==1.6.3
- torch-scatter==2.0.6
- torch-sparse==0.6.9 Please refer to the requirements.txt for any other packages.
All GNNs are implemented with pytorch-geometric.
To run the demo :
- For baseline gcn, graphsage, gat : sh ./script/base_trial.sh
- For FLAG gcn, graphsage, gat : sh ./script/flag_trial.sh
- For DropEdge gcn, graphsage, gat : sh ./script/de_trial.sh
- For G-Aug gcn, graphsage, gat : sh ./script/de_trial.sh Please modify json files in ./configs to change any hyperparameters.
[1] Kong, Kezhi, et al. "Flag: Adversarial data augmentation for graph neural networks." arXiv preprint arXiv:2010.09891 (2020).
[2] Zhao, Tong, et al. "Data Augmentation for Graph Neural Networks." arXiv preprint arXiv:2006.06830 (2020).
[3] Rong, Yu, et al. "Dropedge: Towards deep graph convolutional networks on node classification." arXiv preprint arXiv:1907.10903 (2019).