Home

Awesome

Graph2Gauss

<img src="https://www.cs.cit.tum.de/fileadmin/_processed_/0/c/csm_g2g_5cb39b0bf1.png" width="600">

Tensorflow implementation of the method proposed in the paper: "Deep Gaussian Embedding of Graphs: Unsupervised Inductive Learning via Ranking", Aleksandar Bojchevski and Stephan Günnemann, ICLR 2018.

Installation

python setup.py install

Requirements

Demo

See the notebook example.ipynb for a simple demo.

Graphs without attributes

If you graph has no attribute information you can run the one-hot version of Graph2Gauss (G2G_oh) by setting X=I, where I is the identity matrix. Additionally, setting X=A+I, where A is the adjacency matrix often yields even better perfomance.

Misc

For an animation of Graph2Gauss learning to embed nodes as 2D Gaussians see: https://twitter.com/abojchevski/status/958278834025091072?s=19

Cite

Please cite our paper if you use this code in your own work:

@inproceedings{
bojchevski2018deep,
title={Deep Gaussian Embedding of Graphs:  Unsupervised Inductive Learning via Ranking},
author={Aleksandar Bojchevski and Stephan Günnemann},
booktitle={International Conference on Learning Representations},
year={2018},
url={https://openreview.net/forum?id=r1ZdKJ-0W},
}