dreamerv3-torch

February 21, 2026 ยท View on GitHub

Important

Notice: Outdated Implementation

This codebase was implemented prior to major updates to DreamerV3 and does not reflect those changes, which accounts for several GitHub Issues in this repository.

An up-to-date and ~5x faster PyTorch DreamerV3 reproduction is now maintained as part of our new repository: r2dreamer. Please refer to that repository for the latest DreamerV3 baseline, provided alongside a PyTorch implementation of R2-Dreamer (ICLR 2026).

Pytorch implementation of Mastering Diverse Domains through World Models. DreamerV3 is a scalable algorithm that outperforms previous approaches across various domains with fixed hyperparameters.

Instructions

Method 1: Manual

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.

Method 2: Docker

Please refer to the Dockerfile for the instructions, as they are included within.

Benchmarks

So far, the following benchmarks can be used for testing.

EnvironmentObservationActionBudgetDescription
DMC ProprioStateContinuous500KDeepMind Control Suite with low-dimensional inputs.
DMC VisionImageContinuous1MDeepMind Control Suite with high-dimensional images inputs.
Atari 100kImageDiscrete400K26 Atari games.
CrafterImageDiscrete1MSurvival environment to evaluates diverse agent abilities.
MinecraftImage and StateDiscrete100MVast 3D open world.
Memory MazeImageDiscrete100M3D mazes to evaluate RL agents' long-term memory.

Results

DMC Proprio

dmcproprio

DMC Vision

dmcvision

Atari 100k

atari100k

Crafter

Troubleshooting

AttributeError: 'NoneType' object has no attribute 'glGetError' If you encounter this OpenGL-related error when running DMCtasks, it is typically caused by a headless rendering environment setup. Please refer to this discussion/issue for the solution.

Acknowledgments

This code is heavily inspired by the following works: