skyjo_rl

Multi-Agent Reinforcement Learning Environment for the card game SkyJo, compatible with PettingZoo and RLLIB

codecovCI pytest

Read the docs

Contributors Forks Stargazers Issues MIT License LinkedIn

Project Organization

Github Repository

├── LICENSE
├── Makefile                <- Makefile with commands like `make data` or `make train`
├── README.md               <- The top-level README for developers using this project.
│
├── docs                    <- Docs HTMLs, see Sphinx [docs](https:/michaelfeil.github.io/skyjo_rl)
│
├── models                  <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks               <- Jupyter notebooks. 
├── requirements.txt                        <- requirements for the rlskyjo
├── requirements_dev.txt                    <- requirements for developers
├── rlskyjo                                    
│   ├── environment
│   │   ├── skyjo_env.py
│   │   └── vanilla_env_example.py
│   ├── game
│   │   ├── sample_game.py
│   │   └── skyjo.py
│   ├── models
│   │   ├── action_mask_model.py
│   │   ├── random_admissible_policy.py
│   │   └── train_model_simple_rllib.py
│   └── utils.py
├── setup.py                                <- makes project pip installable (pip install -e .) so skyjo_rl can be imported
├── test_environment.py
├── tests                                   <- Unittests
└── tox.ini                                 <- tox file with settings for running tox; see tox.readthedocs.io

PYPI Install

conda create --name skyjo python=3.8 pip
conda activate skyjo
pip install rlskyjo

Developer Install

git clone https://github.com/michaelfeil/skyjo_rl.git
conda create --name skyjo python=3.8 pip
conda activate skyjo
pip install -r requirements.txt
pip install -r requirements_dev.txt
pip install -e .
pre-commit install
coverage run -m --source=./rlskyjo pytest tests

Tutorials

Vanilla SkyJo PettingZoo Env example

SkyJo game example

Train PPO MultiAgent with SkyJo PettingZoo Env, Pytorch and RLLib