Home

Awesome

GARNET

GARNET is a scalable reduced-rank topology learning method for constructing GNN models robust to adversarial attacks on homo/heterophilic graphs. More details are available in our paper: https://openreview.net/forum?id=kvwWjYQtmw

Overview of the GARNET framework

Citation

If you use GARNET in your research, please cite our work published at LoG'22.

@inproceedings{
deng2022garnet,
title={{GARNET}: Reduced-Rank Topology Learning for Robust and Scalable Graph Neural Networks},
author={Chenhui Deng and Xiuyu Li and Zhuo Feng and Zhiru Zhang},
booktitle={Learning on Graphs Conference},
year={2022},
url={https://openreview.net/forum?id=kvwWjYQtmw}
}

Requirements

Installation

1. conda create -n garnet python=3.8
2. conda activate garnet
3. conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
4. conda install pyg -c pyg
5. pip install -r requirements.txt

Available Dataset

Example Usage

Note: We only show how to run GARNET-GCN on Cora dataset below. For other settings, you only need to change the names of dataset and backbone model.

Experimental Results

Note: We further tune some hyperparameters in GARNET and achieve even better results than what we report in our paper. The improved results on Cora dataset are shown in the table below. Thus, we recommend users to use the new hyperparameter setting of GARNET in their experiments (available in configs/).

MethodAccuracy reported in our paperLatest accuracy (12/15/2022)
GARNET-GCN-Net-Clean81.08 ± 2.0583.25 ± 1.51 (2.17%↑)
GARNET-GCN-Net-Adv67.04 ± 2.0576.39 ± 1.16 (9.35%↑)
GARNET-GCN-Meta-Clean79.64 ± 0.7581.90 ± 0.34 (2.26%↑)
GARNET-GCN-Meta-Adv73.89 ± 0.9176.23 ± 0.87 (2.34%↑)

Experiments on Large Graphs

1. cd ogbn/
2. see README.md for instructions