Giter Site home page Giter Site logo

jackfodtik / hetnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from core-robotics-lab/hetnet

0.0 0.0 0.0 6.21 MB

Public implementation of Heterogeneous Policy Networks (HetNet) from AAMAS'22 -- Paper Title: Learning Efficient Diverse Communication for Cooperative Heterogeneous Teaming

License: GNU General Public License v3.0

Python 100.00%

hetnet's Introduction

HetNet

Public implementation of Heterogeneous Policy Networks (HetNet) from AAMAS'22

Paper Title: Learning Efficient Diverse Communication for Cooperative Heterogeneous Teaming

Authors: Esmaeil Seraj*, Zheyuan Wang*, Rohan Paleja*, Daniel Martin, Matthew Sklar, Anirudh Patel, Matthew Gombolay

Paper Link: https://ifaamas.org/Proceedings/aamas2022/pdfs/p1173.pdf

Installation

git clone https://github.com/CORE-Robotics-Lab/HetNet
cd HetNet/envs
python setup.py develop

We note this repo and several files maintained are pulled/modified from https://github.com/IC3Net/IC3Net.

Sample Run Command for HetNet

  • Predator-Prey: python main.py --env_name predator_capture --nfriendly_P 3 --nfriendly_A 0 --nprocesses 4 --num_epochs 2000 --hid_size 128 --detach_gap 5 --lrate 0.0001 --dim 5 --batch_size 500 --max_steps 80 --hetgat --hetgat_a2c --seed 5
  • Predator-Capture: python main.py --env_name predator_capture --nfriendly_P 2 --nfriendly_A 1 --nprocesses 4 --num_epochs 2000 --hid_size 128 --detach_gap 5 --lrate 0.0001 --dim 5 --batch_size 500 --max_steps 80 --hetgat --hetgat_a2c --seed 5
  • Fire-Commander: python main.py --env_name fire_commander --nfriendly_P 2 --nfriendly_A 1 --nprocesses 4 --num_epochs 1400 --hid_size 128 --detach_gap 5 --lrate 0.0001 --dim 5 --max_steps 300 --hetgat --hetgat_a2c --vision 1 --nfires 1 --reward_type 3

Important Notes/Arguments

  • When the number of Action agents (--nfriendly_A) is set to 0, the predator_capture environment defaults to Predator_Prey.
  • Seed (--seed) should be varied to gain a robust understanding over baselines and our model.
  • The number of processes (--nprocesses) is directly related to the amount of data used in update steps. We typically utilize 4 processes but our code can readily support any number of threads (including single process)

Sample Run Commands for Baselines

This is currently a work in progress. Baselines that are supported are MAGIC, IC3Net, CommNet, and TarMAC. We are doing some large refactoring. Please email us with any urgent concerns!

Citation

If you use this work and/or this codebase in your research, we ask you to please cite the original AAMAS'22 paper as shown below:

@inproceedings{seraj2022learning,
  title={Learning efficient diverse communication for cooperative heterogeneous teaming},
  author={Seraj, Esmaeil and Wang, Zheyuan and Paleja, Rohan and Martin, Daniel and Sklar, Matthew and Patel, Anirudh and Gombolay, Matthew},
  booktitle={Proceedings of the 21st International Conference on Autonomous Agents and Multiagent Systems},
  pages={1173--1182},
  year={2022}
}

License

Code is available under MIT license.

Appendix: The FireCommander Domain

A detailed description of the heterogeneous multi-agent domain that we created for our experiments, the FireCommander environment,can be accessed through the following links:

FireCommander arXiv Paper: FireCommander: An Interactive, Probabilistic Multi-agent Environment for Heterogeneous Robot Teams

FireCommander Paper Link: https://arxiv.org/abs/2011.00165

FireCommander Codebase: https://github.com/EsiSeraj/FireCommander2020

hetnet's People

Contributors

esiseraj avatar rohanpaleja27 avatar ghost12331 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.