Giter VIP home page Giter VIP logo

crowdmarl's Introduction

CrowdMARL

crowd simulation using multi-agent PPO algorithm.
2021 Fall CS492: Introduction to Deep Learning Team11 final project.


Result video

Youtube Link

Code descriptions

  • 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.

Environments

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.

Dependencies

pip install -r requirements.txt

Train model

python .\train_model.py --env=<environment_name> --path=<model_save_location> --model=<model_load_location>

options

  • --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.

Example

python .\train_model.py --dt --path .\checkpoints\

Test model

python .\test_model.py --model=<test_model_location> --env=<environment_name>

options

  • --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)

Example

 python .\test_model.py --dt 0.25 --env obstacles

crowdmarl's People

Contributors

simcs avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.