Graph Auto-Encoder in PyTorch
This is a PyTorch/Pyro implementation of the Variational Graph Auto-Encoder model described in the paper:
T. N. Kipf, M. Welling, Variational Graph Auto-Encoders, NIPS Workshop on Bayesian Deep Learning (2016)
This repository uses some of the code found here: https://github.com/tkipf/pygcn and https://github.com/tkipf/gae.
Tested December 19th, 2018 with PyTorch 1.0 and Pyro 0.3.0.
- Python 2.7
- Pyro 0.3.0
- PyTorch 1.0
- networkx
- scikit-learn
- scipy
- numpy
- matplotlib
- pickle
After installing all requirements:
python train.py
- This implementation uses Pyro's blackbox SVI function with the default ELBO loss. This is slower than the TensorFlow implementation which uses a custom loss function with an analytic solution to the KL divergence term.
- Currently the code is not set up to use a GPU, but the code should be easy to extend to improve running speed