A collection of partially-observable procedural gym environments
Project description
POPGym: Partially Observable Process Gym
POPGym is designed to benchmark memory in deep reinforcement learning. It contains a set of environments and a collection of memory model baselines. The full paper is available on OpenReview. Please see the documentation for advanced installation instructions and examples.
Quickstart Install
pip install popgym # base environments only, only requires numpy and gymnasium
pip install "popgym[navigation]" # also include navigation environments, which require mazelib
pip install "popgym[baselines]" # environments and memory baselines
POPGym Environments
POPGym contains Partially Observable Markov Decision Process (POMDP) environments following the Openai Gym interface. POPGym environments have minimal dependencies and fast enough to solve on a laptop CPU in less than a day. We provide the following environments:
Environment | Tags | Temporal Ordering | Colab FPS | Macbook Air (2020) FPS |
---|---|---|---|---|
Battleship (Code) | Game | None | 117,158 | 235,402 |
Concentration (Code) | Game | Weak | 47,515 | 157,217 |
Higher Lower (Code) | Game, Noisy | None | 24,312 | 76,903 |
Labyrinth Escape (Code) | Navigation | Strong | 1,399 | 41,122 |
Labyrinth Explore (Code) | Navigation | Strong | 1,374 | 30,611 |
Minesweeper (Code) | Game | None | 8,434 | 32,003 |
Multiarmed Bandit (Code) | Noisy | None | 48,751 | 469,325 |
Autoencode (Code) | Diagnostic | Strong | 121,756 | 251,997 |
Count Recall (Code) | Diagnostic, Noisy | None | 16,799 | 50,311 |
Repeat First (Code) | Diagnostic | None | 23,895 | 155,201 |
Repeat Previous (Code) | Diagnostic | Strong | 50,349 | 136,392 |
Stateless Cartpole (Code) | Control | Strong | 73,622 | 218,446 |
Noisy Stateless Cartpole (Code) | Control, Noisy | Strong | 6,269 | 66,891 |
Stateless Pendulum (Code) | Control | Strong | 8,168 | 26,358 |
Noisy Stateless Pendulum (Code) | Control, Noisy | Strong | 6,808 | 20,090 |
Feel free to rerun this benchmark using this colab notebook.
POPGym Baselines
POPGym baselines implements recurrent and memory model in an efficient manner. POPGym baselines is implemented on top of rllib
using their custom model API. We provide the following baselines:
- MLP
- Positional MLP
- Framestacking (Paper)
- Temporal Convolution Networks (Paper)
- Elman Networks (Paper)
- Long Short-Term Memory (Paper)
- Gated Recurrent Units (Paper)
- Independently Recurrent Neural Networks (Paper)
- Fast Autoregressive Transformers (Paper)
- Fast Weight Programmers (Paper)
- Legendre Memory Units (Paper)
- Diagonal State Space Models (Paper)
- Differentiable Neural Computers (Paper)
Leaderboard
The leaderboard is available at paperswithcode.
Contributing
Follow style and ensure tests pass
pip install pre-commit
pre-commit install
pytest popgym/tests
Citing
@inproceedings{
morad2023popgym,
title={{POPG}ym: Benchmarking Partially Observable Reinforcement Learning},
author={Steven Morad and Ryan Kortvelesy and Matteo Bettini and Stephan Liwicki and Amanda Prorok},
booktitle={The Eleventh International Conference on Learning Representations},
year={2023},
url={https://openreview.net/forum?id=chDrutUTs0K}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file popgym-1.0.2.tar.gz
.
File metadata
- Download URL: popgym-1.0.2.tar.gz
- Upload date:
- Size: 70.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbdc1e6467eb71f38d89f17579be7636f12ff1c78249d90b4b58c7c1e9817cd0 |
|
MD5 | 9f31a0e3f9327e5cd10e60fddff6e941 |
|
BLAKE2b-256 | 0aaa3ab70bc8c6af7ee175f043e85bc37bcd28db1f5e6f0e0d2d65c5bfe5d54b |
File details
Details for the file popgym-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: popgym-1.0.2-py3-none-any.whl
- Upload date:
- Size: 100.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82e1e758abac6911e31c57a2879d609545c9aeb921e17231111763b22a506fb0 |
|
MD5 | cff69d0230deae2f3952a476e9ebd73b |
|
BLAKE2b-256 | 6dac51d5782ba5cbfca78d12e0233ca7f661229aaefdc664034565f746dd9ed3 |