Awesome
Spatio-Temporal Graph Convolutional Networks
About
The PyTorch implementation of STGCN from the paper Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting.
Paper
https://arxiv.org/abs/1709.04875
Citation
@inproceedings{10.5555/3304222.3304273,
author = {Yu, Bing and Yin, Haoteng and Zhu, Zhanxing},
title = {Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting},
year = {2018},
isbn = {9780999241127},
publisher = {AAAI Press},
booktitle = {Proceedings of the 27th International Joint Conference on Artificial Intelligence},
pages = {3634–3640},
numpages = {7},
series = {IJCAI'18}
}
Related works
- TCN: An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
- GLU and GTU: Language Modeling with Gated Convolutional Networks
- ChebNet: Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
- GCN: Semi-Supervised Classification with Graph Convolutional Networks
Related code
- TCN: https://github.com/locuslab/TCN
- ChebNet: https://github.com/mdeff/cnn_graph
- GCN: https://github.com/tkipf/pygcn
Dataset
Source
- METR-LA: DCRNN author's Google Drive
- PEMS-BAY: DCRNN author's Google Drive
- PeMSD7(M): STGCN author's GitHub repository
Preprocessing
Using the formula from ChebNet: <img src="./figure/weighted_adjacency_matrix.png" style="zoom:100%" />
Model structure
<img src="./figure/stgcn_model_structure.png" style="zoom:100%" />Differents of code between mine and author's
- Fix bugs
- Add Early Stopping approach
- Add Dropout approach
- Offer a different set of hyperparameters
- Offer config files for two different categories graph convolution (ChebyGraphConv and GraphConv)
- Add datasets METR-LA and PEMS-BAY
- Adopt a different data preprocessing method
Requirements
To install requirements:
pip3 install -r requirements.txt