This is the code for paper Augmenting Message Passing with Virtual Paths via Effective Resistance.
- VP-GNN is a novel graph learning framework that effectively alleviates over-squashing without impairing the inherent graph structure.
-
Python 3.10.13
conda create -n your_env_name python=3.10.13
-
torch 2.1.1 + cu118
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
-
Install
causal_conv1dandmamba(you should download this from Vim)pip install -e causal_conv1d>=1.1.0pip install -e mamba-1p1p1
-
Install
pyG:pip install torch_geometricpip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cu118.html
-
Install
dgl: -pip install dgl==0.9.0
Example Command:
python run_node_classification.py --rewiring=VP --dataset={$dataset} --layer_type={$model} --num_path={$num_path} --device={$device}
The arguments we consider in our paper:
dataset:cora,texas,citeseer,wisconsin,cornell,squirrel
model:VPaugGCN,VPaugGIN
num_path:- [5, 10, 15, 20, 25, 30]
device:- gpu number
If you want to run 100 tirals, add num_trials like below:
python run_node_classification.py --rewiring=VP --dataset={$dataset} --layer_type={$model} --num_path={$num_path} --device={$device}--num_trials=100