Skip to content

Latest commit

 

History

History
60 lines (46 loc) · 3.6 KB

README.md

File metadata and controls

60 lines (46 loc) · 3.6 KB

Deep RL for traffic signal control

License: MIT

This repo implements start-of-the-art mutli-agent (decentralized) deep RL algorithms for large-scale traffic signal control in SUMO-simulated environments.

Available cooperation levels:

  • Centralized: a global agent that makes global control w/ global observation, reward.
  • Decentralized: multiple local agents that make local control independently w/ neighborhood information sharing.

Available NN layers: Fully-connected, LSTM.

Available algorithms: IQL, IA2C, IA2C with stabilization (called MA2C).

Available environments:

Requirements

Attention: the code of this repo is for sumo-0.32.0 and it is not compatible with sumo-1.1.0. Quick fixes: 1) removing all special delimiters from names in build_file.py. (See updated version). 2) updating column names of trip.xml (See updated env.collect_tripinfo()).

Usages

First define all hyperparameters in a config file under [config_dir], and create the base directory of experiements [base_dir]. Before training, please call build_file.py under [environment_dir]/data/ to generate SUMO network files for small_grid and large_grid environments.

To train a new agent, run

python3 main.py --base-dir [base_dir] train --config-dir [config_dir] --test-mode no_test

no_test is suggested, since tests will significantly slow down the training speed.

To access tensorboard during training, run

tensorboard --logdir=[base_dir]/log

To evaluate and compare trained agents, run

python3 main.py --base-dir [base_dir] evaluate --agents [agent names] --evaluate-seeds [seeds]

Evaluation data will be output to [base_dir]/eva_data, and make sure evaluation seeds are different from those used in training.

Citation

If you find this useful in your research, please cite our paper "Multi-Agent Deep Reinforcement Learning for Large-Scale Traffic Signal Control" (early access version, preprint version):

@article{chu2019multi,
  title={Multi-Agent Deep Reinforcement Learning for Large-Scale Traffic Signal Control},
  author={Chu, Tianshu and Wang, Jie and Codec{\`a}, Lara and Li, Zhaojian},
  journal={IEEE Transactions on Intelligent Transportation Systems},
  year={2019},
  publisher={IEEE}
}