← Open Source
dexmal

opendw

An Open-Source World Model for Action-Conditioned Embodied Intelligence.

ModelsVision modelsDomain-specific modelsPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
970
Stars
56
Forks
+-5
This week
1
Contributors
Created 2026-07-08 · Updated 2026-10-13 · #12313 today
Top developers
Talnex

dexmal/opendw is ranked 12,313 with 970 stars.

Same-category comparison

dexmal/opendw is ranked 12,313 among these 8 peers; DataXujing/YOLO-v5 is ranked 12,309.

Same-category comparison
NameRankMetrics
grammarly/gector12,287
Language:
Python
Stars:
975
Forks:
220
Description:
Official implementation of the papers "GECToR – Grammatical Error Correction: Tag, Not Rewrite" (BEA-20) and "Text Simplification by Tagging" (BEA-21).
Robbyant/lingbot-video12,290
Language:
Python
Stars:
974
Forks:
46
Description:
Scaling Mixture-of-Experts Video Pretraining for Embodied Intelligence.
alibaba/animate-anything12,299
Language:
Python
Stars:
973
Forks:
78
Description:
Fine-Grained Open Domain Image Animation with Motion Guidance.
DataXujing/YOLO-v512,309
Language:
Jupyter Notebook
Stars:
971
Forks:
191
mbzuai-oryx/groundingLMM12,324
Language:
Python
Stars:
969
Forks:
56
Description:
[CVPR 2024 🔥] Grounding Large Multimodal Model (GLaMM), the first-of-its-kind model capable of generating natural language responses that are seamlessly integrated with object segmentation masks.
Vchitect/SEINE12,337
Language:
Python
Stars:
966
Forks:
63
Description:
[ICLR 2024] SEINE: Short-to-Long Video Diffusion Model for Generative Transition and Prediction.
nvidia-cosmos/cosmos-reason112,379
Language:
Python
Stars:
960
Forks:
85
Description:
Cosmos-Reason1 models understand the physical common sense and generate appropriate embodied decisions in natural language through long chain-of-thought reasoning processes.
AlfredXiangWu/LightCNN12,380
Language:
Python
Stars:
959
Forks:
167
Description:
A Light CNN for Deep Face Representation with Noisy Labels, TIFS 2018.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModels
SubcategoryVision models, Domain-specific models
KeywordsEmbodied, Multimodal, Robotics, Visual understanding
Stars970
Forks56
Contributors1
Created date2026-07-08
Updated date2026-10-13
Stars in 1 day0
Stars in 7 days-5
Rank12,313
Previous rank12,238
Rank change-75
7-day stars rank18,835
Previous 7-day stars rank18,759
7-day stars rank change-76
Total stars rank11,407
Previous total stars rank11,392
Total stars rank change-15
README summary

DW05: A Multimodal World Model for Embodied Intelligence DW05 is a multimodal world model for embodied decision-making, designed to understand how actions shape future outcomes in robot environments. It unifies future video prediction, action generation, and state-value estimation in one framework, with released weights, inference code, and training code. Latest Updates 2026-07: Initial DW05 public release with weights and inference code. Architecture Scope DW05 uses language, image/video, robot type, state, and action inputs for embodied world

modeling. It follows an MoT framework where a Wan backbone is followed by three expert heads for video, action, and value modeling. Note: the Value Expert will be updated in a later release. 0 fine-tuned DW05 model for evaluation | 🤗 Dexmal/DW05-Robotwin | Example checkpoint download: Environment Setup The recommended environment uses Python 3. Install this repository in editable mode: Optional attention packages can be installed when they are compatible with your CUDA/PyTorch stack: Common runtime environment variables: Data

Preparation DW05 uses RobotWin-style episode annotations. Each episode is stored as JSONL, where each line describes one frame. The dataset can read local paths or remote paths through , and local mirrors can be configured with path-prefix overrides. The README examples assume a small demo split constructed from three tasks in our existing RobotWin-style dataset. The demo keeps complete episode JSONL files for those tasks and follows the same directory structure as the full dataset: The demo split

is only for illustrating the expected layout and file format; the training code consumes it in exactly the same way as the full dataset. A DW05 sample is expected to provide: camera observations referenced by , , and , or equivalent fields configured through ; a list containing , , or both; a robot prompt at for action samples; a world-model caption at for video samples; robot , optional , and action trajectories; cached text embeddings, or a configured fallback for missing embeddings; optional normalization stats in

format. One JSONL line has the following format. The same fields are repeated for each frame in an episode, with , image paths, and robot state updated per frame: For image-only storage, replace each video item with . For action-only norm stat computation, , , and are sufficient, but full training samples should include camera observations and cached text embeddings for the selected prompts/captions. Set the dataset paths with environment variables: The built-in recipe is , registered in . You can also

bypass the built-in recipe with explicit experiment overrides: If remote media paths are mirrored locally, set one or more mirror roots with the platform path separator: Compute action normalization stats for a local dataset: The output file is: Use this file as , , or the runtime argument where available. Inference Action-conditioned RobotWin demo We visualize an action-conditioned RobotWin rollout, where DW05 predicts the future video conditioned on robot observations and actions. Open-loop image inference Use the main

experiment entrypoint for a simple image-conditioned rollout: This writes the generated video to . Action-conditioned JSONL inference Use the

Frequently asked questions

How many stars and forks are recorded?

dexmal/opendw has 970 stars and 56 forks.

What is the repository rank?

dexmal/opendw is ranked 12,313.

What language and category are recorded?

dexmal/opendw has 970 stars, uses Python and belongs to Models.

Which repository is closest in rank?

dexmal/opendw is compared with DataXujing/YOLO-v5, ranked 12,309 with 971 stars.

README

DW05: A Multimodal World Model for Embodied Intelligence

DW05 is a multimodal world model for embodied decision-making, designed to understand how actions shape future outcomes in robot environments. It unifies future video prediction, action generation, and state-value estimation in one framework, with released weights, inference code, and training code.

Latest Updates

  • 2026-07: Initial DW05 public release with weights and inference code.

Architecture Scope

DW05 uses language, image/video, robot type, state, and action inputs for embodied world modeling. It follows an MoT framework where a Wan backbone is followed by three expert heads for video, action, and value modeling.

Note: the Value Expert will be updated in a later release.

Model Preparation

Download the released DW05 assets from Hugging Face:

Model Description Checkpoint
Base Base DW05 model pretrained on multi-source dataset 🤗 Dexmal/DW05-Base
SFT-RBT Robotwin 2.0 fine-tuned DW05 model for evaluation 🤗 Dexmal/DW05-Robotwin

Example checkpoint download:

huggingface-cli download Dexmal/DW05-Base --local-dir ./checkpoints/DW05-Base
huggingface-cli download Dexmal/DW05-Robotwin --local-dir ./checkpoints/DW05-Robotwin

Environment Setup

The recommended environment uses Python 3.10+ with a CUDA-enabled PyTorch build. Install this repository in editable mode:

cd /path/to/dexbotic-dw05
pip install -e .

Optional attention packages can be installed when they are compatible with your CUDA/PyTorch stack:

pip install -e '.[attention]'

Common runtime environment variables:

export DW05_MODEL_BASE_PATH=/path/to/local/model/root
export DIFFSYNTH_MODEL_BASE_PATH=$DW05_MODEL_BASE_PATH
export TOKENIZERS_PARALLELISM=false

Data Preparation

DW05 uses RobotWin-style episode annotations. Each episode is stored as JSONL, where each line describes one frame. The dataset can read local paths or remote paths through megfile, and local mirrors can be configured with path-prefix overrides.

The README examples assume a small demo split constructed from three tasks in our existing RobotWin-style dataset. The demo keeps complete episode JSONL files for those tasks and follows the same directory structure as the full dataset:

/path/to/dw05_demo/
  annotations/
    task_a/
      episode_000000.jsonl
      ...
    task_b/
      episode_000000.jsonl
      ...
    task_c/
      episode_000000.jsonl
      ...
  text_embeddings/
  norm_stats.json

The demo split is only for illustrating the expected layout and file format; the training code consumes it in exactly the same way as the full dataset.

A DW05 sample is expected to provide:

  • camera observations referenced by images_1, images_2, and images_3, or equivalent fields configured through data_config.images_keys;
  • a type list containing action, wm, or both;
  • a robot prompt at robot.prompt for action samples;
  • a world-model caption at worldmodel.caption for video samples;
  • robot state, optional proprio, and action trajectories;
  • cached text embeddings, or a configured fallback for missing embeddings;
  • optional normalization stats in norm_stats.json format.

One JSONL line has the following format. The same fields are repeated for each frame in an episode, with frame_idx, image paths, and robot state updated per frame:

{"type":["action","wm"],"images_1":[{"type":"video","url":"videos/front/episode_000000.mp4","frame_idx":0}],"images_2":[{"type":"video","url":"videos/left/episode_000000.mp4","frame_idx":0}],"images_3":[{"type":"video","url":"videos/right/episode_000000.mp4","frame_idx":0}],"robot":{"prompt":"pick up the red block","state":[0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3],"subtask":"reach the red block"},"worldmodel":{"caption":"A video recorded from a robot's point of view executing the following instruction: pick up the red block"},"robot_task_success":1}

For image-only storage, replace each video item with {"type":"image","url":"images/front/frame_000000.jpg"}. For action-only norm stat computation, type, robot.prompt, and robot.state are sufficient, but full training samples should include camera observations and cached text embeddings for the selected prompts/captions.

Set the dataset paths with environment variables:

export DW05_ROBOTWIN_ANNOTATIONS=/path/to/dw05_demo/annotations
export DW05_ROBOTWIN_TEXT_EMBED_DIR=/path/to/dw05_demo/text_embeddings
export DW05_ROBOTWIN_NORM_STATS_PATH=/path/to/dw05_demo/norm_stats.json
export DW05_ROBOTWIN_DATA_PATH_PREFIX=/path/to/media/root
export DW05_ROBOTWIN_INDEX_PATH_PREFIX=/path/to/dw05_demo/annotations

The built-in recipe is robotwin_baseline, registered in dexbotic/data/dataset/dw05/data_source.py. You can also bypass the built-in recipe with explicit experiment overrides:

python playground/example_dw_exp.py --task smoke \
  data_config.annotations=/path/to/annotations \
  data_config.data_path_prefix=/path/to/media/root \
  data_config.index_path_prefix=/path/to/index/root \
  data_config.text_embedding_cache_dir=/path/to/text_embeddings \
  data_config.norm_stats_path=/path/to/norm_stats.json

If remote media paths are mirrored locally, set one or more mirror roots with the platform path separator:

export DW_LOCAL_MIRROR_PREFIXES=/local/mirror/root

Compute action normalization stats for a local dataset:

python playground/example_dw_exp.py --compute-norm-stats \
  data_config.annotations=/path/to/annotations \
  data_config.data_path_prefix=/path/to/media/root \
  data_config.text_embedding_cache_dir=/path/to/text_embeddings \
  norm_stats_config.norm_save_path=./runs/dw05/norm_stats \
  norm_stats_config.batch_size=128 \
  norm_stats_config.max_batches=500

The output file is:

./runs/dw05/norm_stats/norm_stats.json

Use this file as data_config.norm_stats_path, DW05_ROBOTWIN_NORM_STATS_PATH, or the runtime --norm-stats-path argument where available.

Inference

Action-conditioned RobotWin demo

We visualize an action-conditioned RobotWin rollout, where DW05 predicts the future video conditioned on robot observations and actions. The corresponding demo entrypoint is playground/online_demos/robotwin_online_demo.py.

Open-loop image inference

Use the main experiment entrypoint for a simple image-conditioned rollout:

python playground/example_dw_exp.py --task inference \
  inference_config.checkpoint_path=/path/to/dw05_checkpoint.pt \
  inference_config.input_image_path=/path/to/condition.png \
  inference_config.prompt="A video recorded from a robot's point of view executing the following instruction: open the drawer" \
  inference_config.output_mp4=./runs/dw05/inference.mp4 \
  inference_config.num_inference_steps=10

This writes the generated video to inference_config.output_mp4.

Action-conditioned JSONL inference

Use the ALOHA/RobotWin-style single-sample script when you want inference from a JSONL episode frame with action and proprio conditioning:

python script/dw/infer_aloha_joint.py \
  --ckpt /path/to/dw05_checkpoint.pt \
  --jsonl /path/to/episode.jsonl \
  --frame-index 0 \
  --model-base-path /path/to/local/model/root \
  --output-dir ./runs/dw05/aloha_joint_sample \
  --device cuda:0 \
  --num-inference-steps 4 \
  --num-video-frames 9 \
  --action-horizon 32

The script saves visualizations, pred_action.pt, and metadata.json under the output directory.

Nearby in the ranking
Similar items