This is a contemporary PyTorch implementation of the Dreamer v1 algorithm, originally developed by Danijar Hafner et al. The original paper is accessible here.
This implementation draws heavily from the following projects:
- The original Dreamer v1 implementation
- dreamer-pytorch by Julius Frost
- dreamer-pytorch by Yusuke Urakami
The purpose of this project is solely for academic use.
Additionally, this project serves as a supplementary project for our CSC413 final project at the University of Toronto, where I am collaborating with the following wonderful people:
Feel free to reach me out at ScottCTD@outlook.com
.
Task | Original Dreamer | Our Dreamer |
---|---|---|
Acrobot Swingup | ~260 | 269 |
Cartpole Swingup | ~760 | 771 |
Cheetah Run | ~770 | 554 |
Hopper Hop | ~240 | 130 |
Finger Turn Easy | ~550 | 585 |
Finger Turn Hard | ~500 | 520 |
Finger Spin | ~550 | 119 (best 378) |
conda create -n dreamerv1-pytorch -f environment.yml
conda create -n dreamerv1-pytorch python=3.11 -y
conda activate dreamerv1-pytorch
conda install -c conda-forge cudatoolkit=11.8 mesalib -y
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip3 install -r requirements.txt
Modify configurations in main.py
and then
export MUJOCO_GL="osmesa"
python3 main.py