Skip to content

Files

Latest commit

3c38798 · Apr 23, 2021

History

History
This branch is 2607 commits behind dmlc/dgl:master.

dtgrnn

Discrete Temporal Dynamic Graph with recurrent structure

DGL Implementation of DCRNN and GaAN paper.

This DGL example implements the GNN model proposed in the paper Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting and GaAN:Gated Attention Networks for Learning on Large and Spatiotemporal Graphs.

Model implementor

This example was implemented by Ericcsr during his Internship work at the AWS Shanghai AI Lab.

The graph dataset used in this example

METR-LA dataset. Dataset summary:

  • NumNodes: 207
  • NumEdges: 1722
  • NumFeats: 2
  • TrainingSamples: 70%
  • ValidationSamples: 20%
  • TestSamples: 10%

PEMS-BAY dataset. Dataset Summary:

  • NumNodes: 325
  • NumEdges: 2694
  • NumFeats: 2
  • TrainingSamples: 70%
  • ValidationSamples: 20%
  • TestSamples: 10%

How to run example files

In the dtdg folder, run

Please use train.py

Train the DCRNN model on METR-LA Dataset

python train.py --dataset LA --model dcrnn

If want to use a GPU, run

python train.py --gpu 0 --dataset LA --model dcrnn

if you want to use PEMS-BAY dataset

python train.py --gpu 0 --dataset BAY --model dcrnn

Train GaAN model

python train.py --gpu 0 --model gaan --dataset <LA/BAY>

Performance on METR-LA

Models/Datasets Test MAE
DCRNN in DGL 2.91
DCRNN paper 3.17
GaAN in DGL 3.20
GaAN paper 3.16

Notice that Any Graph Convolution module can be plugged into the recurrent discrete temporal dynamic graph template to test performance; simply replace DiffConv or GaAN.