WIP WIP WIP WIP WIP WIP
simple for now just run
python -m quantileppobenchmark.atariquantileppo
This repository implements Quantile Regression-based reinforcement learning heads and distribution classes, integrated into PPO and World Model architectures.
It follows the ideas from Dabney et al. for Distributional RL and adapts them to continuous and discrete control via PPO.
- Python 3.9+ (recommended: 3.10 or 3.11)
- PyTorch
- Stable-Baselines3
- Gymnasium + Atari environments
- NumPy, TensorBoard, Matplotlib
All dependencies are listed in requirements.txt.
We provide a cross-platform bootstrap to avoid cluttering your global Python installation.
Clone the repo and run:
Linux/macOS
bash setup_env.shWindows PowerShell
.\setup_env.ps1The script:
- Creates a
.venv/virtual environment if it doesn’t exist. - Upgrades
pip,setuptools, andwheel. - Installs dependencies from
requirements.txt. - Prints the correct activation command for your OS.
After setup, activate the venv:
Linux/macOS
source .venv/bin/activateWindows PowerShell
.\.venv\Scripts\Activate.ps1Deactivate anytime with:
deactivateIf you plan to train Atari environments, install ROMs using:
AutoROM --accept-licenseThis is required for environments like PongNoFrameskip-v4.
python atariquantileppo.py --env PongNoFrameskip-v4 --timesteps 1_000_000quantile_head.py # Quantile regression head (IQN-style embedding)
quantile_distribution.py # Distribution wrapper over quantile outputs
quantile_loss.py # Quantile regression loss
quantileworldmodelexample.py # Transformer-based ensemble world model using quantile heads
requirements.txt # All dependencies
setup_env.sh / setup_env.ps1 / bootstrap_env.py # Environment bootstrap scripts