Home

Awesome

Dreamer PyTorch

tests

PA: This repository is in maintenance mode. No new features will be added but bugfixes and contributions are welcome. Please create a pull request with any fixes you have!

Dream to Control: Learning Behaviors by Latent Imagination

Paper: https://arxiv.org/abs/1912.01603
Project Website: https://danijar.com/project/dreamer/
TensorFlow 2 implementation: https://github.com/danijar/dreamer
TensorFlow 1 implementation: https://github.com/google-research/dreamer

Results

TaskAverage Return @ 1MDreamer Paper @ 1M
Acrobot Swingup69.54~300
Cartpole Balance877.5~990
Cartpole Balance Sparse814~900
Cartpole Swingup633.6~800
Cup Catch885.1~990
Finger Turn Hard212.8~550
Hopper Hop219~250
Hopper Stand511.6~990
Pendulum Swingup724.9~760
Quadruped Run112.4~450
Quadruped Walk52.82~650
Reacher Easy962.8~950
Walker Stand956.8~990

Table 1. Dreamer PyTorch vs. Paper Implementation

Installation

# clone the repo with rlpyt submodule
git clone --recurse-submodules https://github.com/juliusfrost/dreamer-pytorch.git
cd dreamer-pytorch

# Windows
cd setup/windows_cu118

# Linux
cd setup/linux_cu118

# install with poetry
poetry install

# install with pip
pip install -r requirements.txt

Running Experiments

To run experiments on Atari, run python main.py, and add any extra arguments you would like. For example, to run with a single gpu set --cuda-idx 0.

To run experiments on DeepMind Control, run python main_dmc.py. You can also set any extra arguments here.

Experiments will automatically be stored in data/local/yyyymmdd/run_#
You can use tensorboard to keep track of your experiment. Run tensorboard --logdir=data.

If you have trouble reproducing any results, please raise a GitHub issue with your logs and results. Otherwise, if you have success, please share your trained model weights with us and with the broader community!

Testing

To run tests:

pytest tests

If you want additional code coverage information:

pytest tests --cov=dreamer

Code structure