Traffic forecasting with a graph twist and a 2018 pedigree
A reference TensorFlow implementation of DCRNN that treats road sensors as nodes in a diffusion process, not isolated time series.

What it does DCRNN forecasts traffic speeds across sensor networks by combining graph convolutions with recurrent cells. It models traffic as a diffusion process on the road network—information spreads bidirectionally through the graph—then feeds those spatial representations into an encoder-decoder GRU for temporal prediction. The repo includes pre-trained models for Los Angeles (METR-LA) and Bay Area (PEMS-BAY) datasets, plus scripts for data prep, graph construction, and baseline evaluation.
The interesting bit The “diffusion convolution” is the hook: instead of standard spectral graph convolutions, it uses random-walk diffusion on the directed sensor graph, which better captures how traffic actually propagates. The authors later scaled this to 11,160 California sensors via graph partitioning, training in ~3 hours on a modest GPU cluster and running inference on CPUs.
Key highlights
- ICLR 2018 paper with maintained reference implementation (TensorFlow ≥1.3.0)
- Pre-trained configs and TensorBoard logs for both METR-LA and PEMS-BAY
- Includes MAE/MAPE/RMSE benchmarks at 5/15/30/60 minute horizons (numbers postdate the paper due to a 2018 bug fix)
- Graph partitioning extension for large-scale deployment documented with external paper/slides/video
- Applied beyond traffic: brain connectivity, air quality, internet traffic (cited in README)
- Third-party PyTorch reimplementation linked
Caveats
- Stuck on TensorFlow 1.x era; no migration to TF 2 or modern PyTorch in this repo
- Graph construction currently only supports pre-calculated LA sensor distances; Bay Area graph generation is less clear
- Training can suffer loss explosion; workaround is manual restart or learning-rate schedule tweaking
- “More details are being added” section suggests README is incomplete
Verdict Worth studying if you’re building spatiotemporal graph models or need a reproducible traffic baseline. Skip if you want production-ready modern frameworks—this is a research artifact with historical weight, not a maintained library.