youngjoo-epfl / gconvRNN

Graph convolutional recurrent neural network
MIT License
179 stars 41 forks source link

Graph Convolutional Recurrent Neural Networks (GCRNN)

The code in this repository implements sequence modeling on graph structured dataset. Example code runs with Penn TreeBank dataset to predict next character, give sequence of sentence. The dataset can be downloaded from here The core part of the code is presented in our paper:

Youngjoo Seo, Michaël Defferrard, Xavier Bresson, Pierre Vandergheynst, Structured Sequence Modeling With Graph Convolutional Recurrent Networks

Status of code

Currently this code works on Penn Treebank character level language modeling with Model2. (Char-level modeling is not written in the paper, but I am testing it to reduce the size of input) I will update other experiments in the paper soon.

Environment

  1. Tensorflow version 1.2
  2. python 2.7
  3. We use graph convolutional filter based on "Spectral Graph Convolutional Neural Network". Thanks for Michaël for sharing the code.

Installation and running

  1. Clone this repository.

    git clone https://github.com/youngjoo-epfl/gconvRNN
    cd gconvRNN
  2. Install the dependencies. The code should run with TensorFlow 1.0 and newer.

    pip install -r requirements.txt  # or make install
  3. Run main with python.

    python gcrn_main.py

Model configurations

You can see "config.py" to change the parameters for learning the model.

License & co

The code in this repository is released under the terms of the MIT license. Please cite our paper if you use it.

@article{gcrn,
  title = {Structured Sequence Modeling with Graph Convolutional Recurrent Networks},
  author = {Seo, Youngjoo and Defferrard, Micha\"el and Vandergheynst, Pierre and Bresson, Xavier},
  journal = {arXiv},
  year = {2016},
  url = {https://arxiv.org/abs/1612.07659},
}