Home

Awesome

RoboGraph

Implementation and evaluation of paper

Certified Robustness of Graph Convolution Networks for Graph Classification under Topological Attacks
by Hongwei Jin*, Zhan Shi*, Ashish Peruri, Xinhua Zhang (*equal contribution)
Advances in Neural Information Processing Systems (NeurIPS), 2020.

Installation

The project requires python with version 3.7+, and use pip to install required packages

For example, in the cpu only machine:

conda install python=3.7
conda install pytorch torchvision cpuonly -c pytorch
pip install torch-scatter==latest+cpu torch-sparse==latest+cpu torch-cluster==latest+cpu torch-spline-conv==latest+cpu -f https://pytorch-geometric.com/whl/torch-1.5.0.html
pip install torch-geometric
pip install qpsolvers, sympy, nsopy

After install cplex, install docplex:

conda install -c ibmdecisionoptimization docplex

To simply, you can also install the virtual env from the file robograph.yml

conda env create -f robograph.yml

After install the virtual env, install the package in develop mode

python setup.py develop

Run Demos

For the model with linear activations, check demo_linear.ipynb

For the model with ReLU activations, check demo_relu.ipynb

Datasets

TU of Dortmund has a collection of benchmark data sets for graph kernels.

Reference: Benchmark Data Sets for Graph Kernel

Selected Datasets

NAMENo. of GraphNo. of ClassesAvg. No. of NodesAvg. No. of EdgesNo. of node features
ENZYMES600632.6362.1421
PROTEINS1113239.0672.824
NCI14110229.8732.30-
MUTAG188217.9319.79-
dataset# of graphs# of label# of featuresmin edgemax edgemedian edgemin nodemax nodemedian node
ENZYMES6006212298120212632
NCI14110237423858311127
PROTEINS11132410209898462026
MUTAG18827206638102817