Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
vijaydwivedi75 committed Mar 3, 2020
0 parents commit 7125b40
Show file tree
Hide file tree
Showing 207 changed files with 22,292 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#common
**/*.DS_Store
**/*.ipynb_checkpoints/
**/__pycache__
out/

gmail.py

#SBM datasets
data/SBMs/*.pkl

#Superpixels datasets
data/superpixels/*.pkl
data/superpixels/*.zip
PATH/

#ZINC dataset
data/molecules/*.pkl
data/molecules/*.pickle
data/molecules/*.zip

#TSP
data/TSP/*.txt
data/TSP/*.pkl
data/TSP/*.zip
data/TSP/pyconcorde/


62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Benchmarking Graph Neural Networks

<img src="./docs/gnns.jpg" align="right" width="350"/>

<br>

## 1. Benchmark installation

[Follow these instructions](./docs/01_benchmark_installation.md) to install the benchmark and setup the environment.


<br>

## 2. Download datasets

[Proceed as follows](./docs/02_download_datasets.md) to download the benchmark datasets.


<br>

## 3. Reproducibility

[Use this page](./docs/03_run_codes.md) to run the codes and reproduce the published results.


<br>

## 4. Adding a new dataset

[Instructions](./docs/04_add_dataset.md) to add a dataset to the benchmark.


<br>

## 5. Adding a new graph neural network

[Step-by-step directions](./docs/05_add_gnn.md) to add a GNN to the benchmark.





<br>

## 6. Reference

```
@article{dwivedi2020benchmarkgnns,
title={Benchmarking Graph Neural Networks},
author={Dwivedi, Vijay Prakash and Joshi, Chaitanya K and Laurent, Thomas and Bengio, Yoshua and Bresson, Xavier},
journal={arXiv preprint arXiv:2003.00982},
year={2020}
}
```






<br><br><br>

38 changes: 38 additions & 0 deletions configs/SBMs_node_clustering_GAT_CLUSTER.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GAT",
"dataset": "SBM_CLUSTER",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"n_heads": 8,
"hidden_dim": 19,
"out_dim": 152,
"residual": true,
"readout": "mean",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true,
"self_loop": false
}
}
38 changes: 38 additions & 0 deletions configs/SBMs_node_clustering_GAT_PATTERN.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GAT",
"dataset": "SBM_PATTERN",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"n_heads": 8,
"hidden_dim": 19,
"out_dim": 152,
"residual": true,
"readout": "mean",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true,
"self_loop": false
}
}
37 changes: 37 additions & 0 deletions configs/SBMs_node_clustering_GCN_CLUSTER.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GCN",
"dataset": "SBM_CLUSTER",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"hidden_dim": 146,
"out_dim": 146,
"residual": true,
"readout": "mean",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true,
"self_loop": false
}
}
37 changes: 37 additions & 0 deletions configs/SBMs_node_clustering_GCN_PATTERN.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GCN",
"dataset": "SBM_PATTERN",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"hidden_dim": 146,
"out_dim": 146,
"residual": true,
"readout": "mean",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true,
"self_loop": false
}
}
38 changes: 38 additions & 0 deletions configs/SBMs_node_clustering_GIN_CLUSTER.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GIN",
"dataset": "SBM_CLUSTER",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"hidden_dim": 110,
"residual": true,
"readout": "sum",
"n_mlp_GIN": 2,
"learn_eps_GIN": true,
"neighbor_aggr_GIN": "sum",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true
}
}
38 changes: 38 additions & 0 deletions configs/SBMs_node_clustering_GIN_PATTERN.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GIN",
"dataset": "SBM_PATTERN",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"hidden_dim": 110,
"residual": true,
"readout": "sum",
"n_mlp_GIN": 2,
"learn_eps_GIN": true,
"neighbor_aggr_GIN": "sum",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true
}
}
37 changes: 37 additions & 0 deletions configs/SBMs_node_clustering_GatedGCN_CLUSTER.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"gpu": {
"use": true,
"id": 0
},

"model": "GatedGCN",
"dataset": "SBM_CLUSTER",

"out_dir": "out/SBMs_node_classification/",

"params": {
"seed": 41,
"epochs": 1000,
"batch_size": 128,
"init_lr": 0.001,
"lr_reduce_factor": 0.5,
"lr_schedule_patience": 5,
"min_lr": 1e-5,
"weight_decay": 0.0,
"print_epoch_interval": 5,
"max_time": 48
},

"net_params": {
"L": 4,
"hidden_dim": 70,
"out_dim": 70,
"residual": true,
"edge_feat": false,
"readout": "mean",
"in_feat_dropout": 0.0,
"dropout": 0.0,
"graph_norm": true,
"batch_norm": true
}
}
Loading

0 comments on commit 7125b40

Please sign in to comment.