Pytorch implementation of Mastering Diverse Domains through World Models. DreamerV3 is a scalable algorithm that outperforms previous approaches across various domains with fixed hyperparameters.
Get dependencies with python 3.11:
pip install -r requirements.txt
Run training on DMC Vision:
python3 dreamer.py --configs dmc_vision --task dmc_walker_walk --logdir ./logdir/dmc_walker_walk
Monitor results:
tensorboard --logdir ./logdir
To set up Atari or Minecraft environments, please check the scripts located in env/setup_scripts.
Please refer to the Dockerfile for the instructions, as they are included within.
So far, the following benchmarks can be used for testing.
Environment | Observation | Action | Budget | Description |
---|---|---|---|---|
DMC Proprio | State | Continuous | 500K | DeepMind Control Suite with low-dimensional inputs. |
DMC Vision | Image | Continuous | 1M | DeepMind Control Suite with high-dimensional images inputs. |
Atari 100k | Image | Discrete | 400K | 26 Atari games. |
Crafter | Image | Discrete | 1M | Survival environment to evaluates diverse agent abilities. |
Minecraft | Image and State | Discrete | 100M | Vast 3D open world. |
Memory Maze | Image | Discrete | 100M | 3D mazes to evaluate RL agents' long-term memory. |
This code is heavily inspired by the following works:
- danijar's Dreamer-v3 jax implementation: https://github.com/danijar/dreamerv3
- danijar's Dreamer-v2 tensorflow implementation: https://github.com/danijar/dreamerv2
- jsikyoon's Dreamer-v2 pytorch implementation: https://github.com/jsikyoon/dreamer-torch
- RajGhugare19's Dreamer-v2 pytorch implementation: https://github.com/RajGhugare19/dreamerv2
- denisyarats's DrQ-v2 original implementation: https://github.com/facebookresearch/drqv2