skyjo_rl
Multi-Agent Reinforcement Learning Environment for the card game SkyJo, compatible with PettingZoo and RLLIB
Project Organization
├── 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
Train PPO MultiAgent with SkyJo PettingZoo Env, Pytorch and RLLib