crowd simulation using multi-agent PPO algorithm.
2021 Fall CS492: Introduction to Deep Learning Team11 final project.
- environment.py : Implementation of crowd simulation reinforcement learning environment.
- model.py : The actor-critic model used for training.
- train_model.py : Model traning code (with PPO algorithm implementation).
- test_model.py : Model test code (including simulation visualization tool).
- utils.py : A collection of utility functions.
Currently, we are supporting 6 environments:
- basic : Basic environment with only one agent and target.
- circle1 : 8 agents are located at the vertices dividing the circle into 8 equal parts, and targeting the opposite vertex.
- circle2 : 8 agents are located at the vertices of square and circle, and targeting the opposite vertex.
- crossing1 : Two groups of agents cross each other horizontally.
- crossing2 : Two groups of agents cross each other vertically.
- obstacles : 5 agents move toward the target while avoiding obstacles.
pip install -r requirements.txt
python .\train_model.py --env=<environment_name> --path=<model_save_location> --model=<model_load_location>
- --dt (required) : The timestep of the environment.
- -e/--env (optional) : The name of the environment to use.
- -p/--path (optional) : Path to save trained parameters of the model.
- -m/--model (optional) : Path of the model to resume.
python .\train_model.py --dt --path .\checkpoints\
python .\test_model.py --model=<test_model_location> --env=<environment_name>
- --dt (required) : The timestep of the environment.
- -m/--model (optional) : Path of the model to test.
- -e/--env (optional) : The name of the environment to use.
- -r/--render (optional) : Whether to render result or not. (Default=True)
python .\test_model.py --dt 0.25 --env obstacles