[CIKM 2021 Best Resource Paper Runner-Up] DL-Traff: Survey and Benchmark of Deep Learning Models for Urban Traffic Prediction
- Our work has been accepted by CIKM 2021 Resource Track. https://doi.org/10.1145/3459637.3482000
- Also selected as CIKM21 Best Resource Paper Runner-Up. https://www.cikm2021.org/programme/best-paper-nominations
- The preprint version has been uploaded to arXiv. https://arxiv.org/abs/2108.09091
- The url of Grid-Based work is : https://github.com/deepkashiwa20/DL-Traff-Grid
@inproceedings{jiang2021dl,
title={DL-Traff: Survey and Benchmark of Deep Learning Models for Urban Traffic Prediction},
author={Jiang, Renhe and Yin, Du and Wang, Zhaonan and Wang, Yizhuo and Deng, Jiewen and Liu, Hangchen and Cai, Zekun and Deng, Jinliang and Song, Xuan and Shibasaki,
Ryosuke},
booktitle={Proceedings of the 30th ACM International Conference on Information \& Knowledge Management},
pages={4515--4525},
year={2021}
}
English | 简体中文
DL-Traff is an open resourse project which offers a benchmark for traffic prediction on grid-based and graph-based models. DL-Traff-Graph is a part of graph-based project. This main branch works on Pytorch1.6. Different versions of Pytorch vary slightly in training time and performance. In this github, we integrate two traditional statistical methods(HistoricalAverage and CopyLastFrame), one time series models (LSTNet) and a large number of graph models into one platform. We maintain that all models are based on the same data processing, the same hyperparameters, and the same computing environment such as the version of Pytorch and Cudnn. Although this makes the models fail to achieve the final convergence effection, the performance of different network architectures under the same conditions will be fully reflected by our experiment. We will update the optimization results of each model in later work.
Working environment and major dependencies:
- Ubuntu 20.04.2 LTS
- Python 3 (>= 3.6; Anaconda Distribution)
- PyTorch (>= 1.6.0) py3.6_cuda10.1.243_cudnn7.6.3_0
- torch-summary (>= 1.4.5)
you will get some error if you installed torchsummary, see the details at https://pypi.org/project/torch-summary/.
please uninstall torchsummary and runpip install torch-summary
to install the new one. - tables
- pandas
- scipy
- scikit-learn
- METR-LA
- PeMS-BAY
- PeMSD7(M)
- HistoricalAverage
- CopyLastSteps
- STGCN
- DCRNN
- GraphWaveNet
- ASTGCN
- GMAN
- MTGNN
- AGCRN
- LSTNet
- TGCN *Need thousands of epochs to converge.
- METR-LA (dataset folder)
- metr-la.h5 (feature file)
- adj_mx.pkl (asymmetry road adjecent file)
- W_metrla.csv (symmetry road adjecent file)
- ...
- PeMS-BAY
- pems-bay.h5 (feature file)
- adj_mx_bay.pkl (asymmetry road adjecent file)
- W_pemsbay.csv (symmetry road adjecent file)
- ...
- PeMSD7(M)
- V_228.csv (feature file)
- W_228.csv (symmetry road adjecent file)
- ...
- save (log and result folder, it will be construct by the program automatically to save train process log and test results)
- pred_METR-LA_STGCN_2106160000 (a folder named in oder of dataset, model and time of program execution)
- pred_METR-LA_DCRNN_2106160000
- ...
- workMETRLA (main program folder in METRLA dataset)
- parameter.py (common parameter file, which provide the parameters every model will use)
- parameter_STGCN.py (Model-specific parameter file, which provide the parameters this model will use. If the same parameters as parameter.py appear, this file has priority.)
- STGCN.py (model file, used for debug and providing model interfaces for pred programs.)
- pred_STGCN3.csv (pred file, used for train, prediction and test of the single model STGCN)
- ...
- workPEMSBAY (main program folder in PEMSBAY dataset)
- parameter.py (common parameter file, which provide the parameters every model will use)
- parameter_STGCN.py (model parameter file, which provide the parameters every model will use)
- STGCN.py (model file, used for debug and providing model interfaces for pred programs.)
- pred_STGCN3.csv (pred file, used for train, prediction and test of the single model STGCN)
- ...
- workPEMSD7M (main program folder in PEMSD7M dataset)
- parameter.py (common parameter file, which provide the parameters every model will use)
- parameter_STGCN.py (model parameter file, which provide the parameters every model will use)
- STGCN.py (model file, used for debug and providing model interfaces for pred programs.)
- pred_STGCN3.csv (pred file, used for train, prediction and test of the single model STGCN)
- ...
Download this project into your device, the code project will be downloaded into the current path where you type this powershell command:
git clone git@github.com:deepkashiwa20/DL-Traff-Graph.git
Use the STGCN model on METRLA dataset as an example to demonstrate how to use it.
- dataset
NOTE!
remember to unzip pems-bay.zip to pems-bay.h5 before you run the programe on PEMSBAY dataset, we only upload compressed data due to file size limitation.
cd /PEMSBAY
unzip pems-bay.h5
- debug and run model
cd /workMETRLA
# Debug the model on video card 1 :
python STGCN.py 1
# Run the main program to train, prediction and test on video card 1:
python pred_STGCN3.py 1
# View the result after the operation is complete.
cd /save/pred_STGCN_METRLA_21061600