/graph_agu

Primary LanguagePython

Data Augmentation Approaches for Graph Neural Networks

Highlights
  • Review recent data augmentation approaches for GNNs
  • Experiments with following baseline models: GCN, GAT, GraphSage
  • Data augmentation studied:

optuna is used to find best parameters


Requirements
  • 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.

Implementation Details

All GNNs are implemented with pytorch-geometric.

Usage

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.
References

[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).