Skip to content
Position-aware Graph Neural Networks
Python
Branch: master
Clone or download
JiaxuanYou Upload cleaned code
Upload cleaned code
Latest commit e7fe27a Jun 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Upload cleaned code Jun 12, 2019
.gitignore Initial commit May 13, 2019
LICENSE Upload cleaned code Jun 12, 2019
README.md Upload cleaned code Jun 12, 2019
analysis.py Upload cleaned code Jun 12, 2019
args.py Upload cleaned code Jun 12, 2019
dataset.py Upload cleaned code Jun 12, 2019
main.py Upload cleaned code Jun 12, 2019
model.py Upload cleaned code Jun 12, 2019
train.py Upload cleaned code Jun 12, 2019
utils.py Upload cleaned code Jun 12, 2019

README.md

Position-aware Graph Neural Networks

This repository is the official PyTorch implementation of "Position-aware Graph Neural Networks".

Jiaxuan You, Rex Ying, Jure Leskovec, Position-aware Graph Neural Networks, ICML 2019 (long oral).

Installation

  • Install PyTorch (tested on 1.0.0), please refer to the offical website for further details
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
  • Install PyTorch Geometric (tested on 1.1.2), please refer to the offical website for further details
pip install --verbose --no-cache-dir torch-scatter
pip install --verbose --no-cache-dir torch-sparse
pip install --verbose --no-cache-dir torch-cluster
pip install --verbose --no-cache-dir torch-spline-conv (optional)
pip install torch-geometric
  • Install networkx (tested on 2.3), make sure you are not using networkx 1.x version!
pip install networkx
  • Install tensorboardx
pip install tensorboardX
  • If you wish to use PPI dataset, unzip data/ppi.zip

Run

  • 3-layer GCN, grid
python main.py --model GCN --num_layers 3 --dataset grid
  • 2-layer P-GNN, grid
python main.py --model PGNN --num_layers 2 --dataset grid
  • 2-layer P-GNN, grid, with 2-hop shortest path distance
python main.py --model GCN --num_layers 2 --approximate 2 --dataset grid
  • 3-layer GCN, all datasets
python main.py --model GCN --num_layers 3 --dataset All
  • 2-layer PGNN, all datasets
python main.py --model PGNN --num_layers 2 --dataset All

You are highly encouraged to tune all kinds of hyper-parameters to get better performance. We only did very limited hyper-parameter tuning.

We recommend using tensorboard to monitor the training process. To do this, you may run

tensorboard --logdir runs
You can’t perform that action at this time.