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.9:
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
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. |
![](https://private-user-images.githubusercontent.com/70328564/260865692-a0626038-53f6-4300-a622-7ac257f4c290.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3ODM1MzEsIm5iZiI6MTcxOTc4MzIzMSwicGF0aCI6Ii83MDMyODU2NC8yNjA4NjU2OTItYTA2MjYwMzgtNTNmNi00MzAwLWE2MjItN2FjMjU3ZjRjMjkwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDIxMzM1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3YTI5NDIwNzRiMTkyYjllMmIwZTQyNjgyYjI1NTZlZGZiMzg1NTgyNTVhODIwY2VmZWQwYzhlMjdjYTJmOTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7bXHqOEPTXx8IZUiB7kWpDRRlq3SeOltqe-6KOMg-EI)
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