lukecavabarrett / pna

Implementation of Principal Neighbourhood Aggregation for Graph Neural Networks in PyTorch, DGL and PyTorch Geometric
https://arxiv.org/abs/2004.05718
MIT License
338 stars 55 forks source link
dgl graph-machine-learning graph-neural-networks pytorch pytorch-geometric

Principal Neighbourhood Aggregation

Implementation of Principal Neighbourhood Aggregation for Graph Nets arxiv.org/abs/2004.05718 in PyTorch, DGL and PyTorch Geometric.

Update: now you can find PNA directly integrated in both PyTorch Geometric and DGL!

symbol

Overview

We provide the implementation of the Principal Neighbourhood Aggregation (PNA) in PyTorch, DGL and PyTorch Geometric frameworks, along with scripts to generate and run the multitask benchmarks, scripts for running real-world benchmarks, a flexible PyTorch GNN framework and implementations of the other models used for comparison. The repository is organised as follows:

results

Reference

@inproceedings{corso2020pna,
 title = {Principal Neighbourhood Aggregation for Graph Nets},
 author = {Corso, Gabriele and Cavalleri, Luca and Beaini, Dominique and Li\`{o}, Pietro and Veli\v{c}kovi\'{c}, Petar},
 booktitle = {Advances in Neural Information Processing Systems},
 year = {2020}
}

License

MIT

Acknowledgements

The authors would like to thank Saro Passaro for running some of the tests presented in this repository and Giorgos Bouritsas, Fabrizio Frasca, Leonardo Cotta, Zhanghao Wu, Zhanqiu Zhang and George Watkins for pointing out some issues with the code.