/vgae_pytorch

This repository implements variational graph auto encoder by Thomas Kipf.

Primary LanguagePythonMIT LicenseMIT

Variational Graph Auto-encoder in Pytorch

This repository implements variational graph auto-encoder by Thomas Kipf. For details of the model, refer to his original tensorflow implementation and his paper.

Requirements

  • Pytorch
  • python 3.x
  • networkx
  • scikit-learn
  • scipy

How to run

  • Specify your arguments in args.py : you can change dataset and other arguments there
  • run python train.py

Notes

  • The dataset is the same as what Kipf provided in his original implementation. Thus I used his preprocessing code as-is(maybe with minor modification).
  • Per-epoch training time is a bit slower then the original implementation.(0.2 sec/epoch --> 0.9 sec/epoch)
  • Train accuracy, validation(test) average precision, auroc are similar to those of the original. (over 90% for both AP and roc)
  • Dropout is not implemented now.
  • Feel free to report some inefficiencies in the code! (It's just initial version so may have much room for pytorch-adaptation)