{"id":13628263,"url":"https://github.com/gasteigerjo/ppnp","last_synced_at":"2025-10-25T01:27:20.157Z","repository":{"id":39484564,"uuid":"171670880","full_name":"gasteigerjo/ppnp","owner":"gasteigerjo","description":"PPNP \u0026 APPNP models from \"Predict then Propagate: Graph Neural Networks meet Personalized PageRank\" (ICLR 2019)","archived":false,"fork":false,"pushed_at":"2023-08-19T14:19:10.000Z","size":9328,"stargazers_count":315,"open_issues_count":0,"forks_count":55,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-05-21T17:21:40.210Z","etag":null,"topics":["deep-learning","gcn","gnn","graph-algorithms","graph-classification","graph-neural-networks","machine-learning","pagerank","pytorch","tensorflow"],"latest_commit_sha":null,"homepage":"https://www.daml.in.tum.de/ppnp","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gasteigerjo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-02-20T12:39:47.000Z","updated_at":"2024-04-16T11:17:28.000Z","dependencies_parsed_at":"2024-01-12T18:38:31.791Z","dependency_job_id":"fc4244db-3160-45f5-b73b-b937f9164c90","html_url":"https://github.com/gasteigerjo/ppnp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasteigerjo%2Fppnp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasteigerjo%2Fppnp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasteigerjo%2Fppnp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasteigerjo%2Fppnp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gasteigerjo","download_url":"https://codeload.github.com/gasteigerjo/ppnp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249293260,"owners_count":21245717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","gcn","gnn","graph-algorithms","graph-classification","graph-neural-networks","machine-learning","pagerank","pytorch","tensorflow"],"created_at":"2024-08-01T22:00:49.302Z","updated_at":"2025-10-25T01:27:15.129Z","avatar_url":"https://github.com/gasteigerjo.png","language":"Jupyter Notebook","readme":"# PPNP and APPNP\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/gasteigerjo/ppnp/master/ppnp_model.svg?sanitize=true\" width=\"600\"\u003e\n\u003c/p\u003e\n\nTensorFlow and PyTorch implementations of the model proposed in the paper:\n\n**[Predict then Propagate: Graph Neural Networks meet Personalized PageRank](https://www.cs.cit.tum.de/daml/ppnp/)**   \nby Johannes Gasteiger, Aleksandar Bojchevski, Stephan Günnemann   \nPublished at ICLR 2019.\n\nNote that the author's name has changed from Johannes Klicpera to Johannes Gasteiger.\n\n## Run the code\nThe 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.\n\n## Requirements\nThe repository uses these packages:\n\n```\nnumpy\nscipy\ntensorflow\u003e=1.6,\u003c2.0\npytorch\u003e=1.5\n```\n\nYou can install all requirements via `pip install -r requirements.txt`.\nHowever, in practice you will only need either TensorFlow or PyTorch, depending on which implementation you use.\nIf you use the `networkx_to_sparsegraph` method for importing other datasets you will additionally need NetworkX.\n\n## Installation\nTo install the package, run `python setup.py install`.\n\n## Datasets\nIn 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.\n\nThe 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,   \nwhile 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.\n\nThe Citeseer graph was originally published by Prithviraj Sen, Galileo Namata, Mustafa Bilgic, Lise Getoor, Brian Gallagher, and Tina Eliassi-Rad.\n*\"Collective Classification in Network Data.\"* AI Magazine, 29(3):93–106, 2008.\n\nThe 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.\n\nThe 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.\n\n## Contact\nPlease contact j.gasteiger@in.tum.de in case you have any questions.\n\n## Cite\nPlease cite our paper if you use the model or this code in your own work:\n\n```\n@inproceedings{gasteiger_predict_2019,\n\ttitle = {Predict then Propagate: Graph Neural Networks meet Personalized PageRank},\n\tauthor = {Gasteiger, Johannes and Bojchevski, Aleksandar and G{\\\"u}nnemann, Stephan},\n\tbooktitle={International Conference on Learning Representations (ICLR)},\n\tyear = {2019}\n}\n```\n","funding_links":[],"categories":["Uncategorized","Jupyter Notebook"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasteigerjo%2Fppnp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgasteigerjo%2Fppnp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasteigerjo%2Fppnp/lists"}