GitPedia

Stgcn

The PyTorch implementation of STGCN.

From hazdzz·Updated June 12, 2026·View on GitHub·

The PyTorch implementation of STGCN from the paper *Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting*. The project is written primarily in Python, distributed under the GNU Lesser General Public License v2.1 license, first published in 2020. Key topics include: gcn, gnn, pytorch, road-traffic-prediction, tcn.

Spatio-Temporal Graph Convolutional Networks

issues
forks
stars
License

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}
}
  1. TCN: An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
  2. GLU and GTU: Language Modeling with Gated Convolutional Networks
  3. ChebNet: Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
  4. GCN: Semi-Supervised Classification with Graph Convolutional Networks
  1. TCN: https://github.com/locuslab/TCN
  2. ChebNet: https://github.com/mdeff/cnn_graph
  3. GCN: https://github.com/tkipf/pygcn

Dataset

Source

  1. METR-LA: DCRNN author's Google Drive
  2. PEMS-BAY: DCRNN author's Google Drive
  3. 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

  1. Fix bugs
  2. Add Early Stopping approach
  3. Add Dropout approach
  4. Offer a different set of hyperparameters
  5. Offer config files for two different categories graph convolution (ChebyGraphConv and GraphConv)
  6. Add datasets METR-LA and PEMS-BAY
  7. Adopt a different data preprocessing method

Requirements

To install requirements:

console
pip3 install -r requirements.txt

Contributors

Showing top 3 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from hazdzz/stgcn via the GitHub API.Last fetched: 6/13/2026