Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gasteigerjo/ppnp
PPNP & APPNP models from "Predict then Propagate: Graph Neural Networks meet Personalized PageRank" (ICLR 2019)
https://github.com/gasteigerjo/ppnp
deep-learning gcn gnn graph-algorithms graph-classification graph-neural-networks machine-learning pagerank pytorch tensorflow
Last synced: 2 days ago
JSON representation
PPNP & APPNP models from "Predict then Propagate: Graph Neural Networks meet Personalized PageRank" (ICLR 2019)
- Host: GitHub
- URL: https://github.com/gasteigerjo/ppnp
- Owner: gasteigerjo
- License: mit
- Created: 2019-02-20T12:39:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-08-19T14:19:10.000Z (about 1 year ago)
- Last Synced: 2024-05-21T17:21:40.210Z (6 months ago)
- Topics: deep-learning, gcn, gnn, graph-algorithms, graph-classification, graph-neural-networks, machine-learning, pagerank, pytorch, tensorflow
- Language: Jupyter Notebook
- Homepage: https://www.daml.in.tum.de/ppnp
- Size: 8.9 MB
- Stars: 315
- Watchers: 10
- Forks: 55
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-network-embedding - [Python TensorFlow
README
# PPNP and APPNP
TensorFlow and PyTorch implementations of the model proposed in the paper:
**[Predict then Propagate: Graph Neural Networks meet Personalized PageRank](https://www.cs.cit.tum.de/daml/ppnp/)**
by Johannes Gasteiger, Aleksandar Bojchevski, Stephan Günnemann
Published at ICLR 2019.Note that the author's name has changed from Johannes Klicpera to Johannes Gasteiger.
## Run the code
The easiest way to get started is by looking at the notebook `simple_example_tensorflow.ipynb` or `simple_example_pytorch.ipynb`. The notebook `reproduce_results.ipynb` shows how to reproduce the results from the paper.## Requirements
The repository uses these packages:```
numpy
scipy
tensorflow>=1.6,<2.0
pytorch>=1.5
```You can install all requirements via `pip install -r requirements.txt`.
However, in practice you will only need either TensorFlow or PyTorch, depending on which implementation you use.
If you use the `networkx_to_sparsegraph` method for importing other datasets you will additionally need NetworkX.## Installation
To install the package, run `python setup.py install`.## Datasets
In the `data` folder you can find several datasets. If you want to use other (external) datasets, you can e.g. use the `networkx_to_sparsegraph` method in `ppnp.data.io` for converting NetworkX graphs to our SparseGraph format.The Cora-ML graph was extracted by Aleksandar Bojchevski, and Stephan Günnemann. *"Deep gaussian embedding of attributed graphs: Unsupervised inductive learning via ranking."* ICLR 2018,
while the raw data was originally published by Andrew Kachites McCallum, Kamal Nigam, Jason Rennie, and Kristie Seymore. *"Automating the construction of internet portals with machine learning."* Information Retrieval, 3(2):127–163, 2000.The Citeseer graph was originally published by Prithviraj Sen, Galileo Namata, Mustafa Bilgic, Lise Getoor, Brian Gallagher, and Tina Eliassi-Rad.
*"Collective Classification in Network Data."* AI Magazine, 29(3):93–106, 2008.The PubMed graph was originally published by Galileo Namata, Ben London, Lise Getoor, and Bert Huang. *"Query-driven Active Surveying for Collective Classification"*. International Workshop on Mining and Learning with Graphs (MLG) 2012.
The Microsoft Academic graph was originally published by Oleksandr Shchur, Maximilian Mumme, Aleksandar Bojchevski, Stephan Günnemann. *"Pitfalls of Graph Neural Network Evaluation"*. Relational Representation Learning Workshop (R2L), NeurIPS 2018.
## Contact
Please contact [email protected] in case you have any questions.## Cite
Please cite our paper if you use the model or this code in your own work:```
@inproceedings{gasteiger_predict_2019,
title = {Predict then Propagate: Graph Neural Networks meet Personalized PageRank},
author = {Gasteiger, Johannes and Bojchevski, Aleksandar and G{\"u}nnemann, Stephan},
booktitle={International Conference on Learning Representations (ICLR)},
year = {2019}
}
```