DM05-Table30v2-W1 / README.md
Dexmal2026's picture
initial commit
5d59277 verified
|
Raw
History Blame Contribute Delete
4.1 kB
metadata
license: gemma
library_name: transformers
base_model:
  - Dexmal/DM05
datasets:
  - RoboChallenge/Table30v2
tags:
  - robotics
  - vision-language-action
  - dm05
  - opendm
  - robochallenge
  - w1
  - dos-w1

DM05-W1 (RoboChallenge)

DM0.5

Tech Blog GitHub Table30v2 Dataset MaaS

OpenDM-format BF16 checkpoint for DOS W1 on RoboChallenge Table 30 v2. Use with OpenDM third_party/robochallenge_inference (configs/generalist/w1.yaml). See the DM05 RoboChallenge Table 30 v2 Inference Guide.

Weights: BF16 model.safetensors.

Model Card

Field Value
Config generalist/w1
Env vars W1_CHECKPOINT / W1_NORM_STATS
OpenDM robot_type DOS W1
Control Joint relative
Cameras Head / Left wrist / Right wrist
Platform cams cam_high β†’ image_0, cam_left_wrist β†’ image_1, cam_right_wrist β†’ image_2
Native state / action stats 14 / 14 (state + action quantile norm_stats.json)
Defaults action_horizon=25, is_history=false

Table30 Tasks

fold_the_clothes, hold_the_tray_with_both_hands, place_objects_into_desk_drawer, put_in_pen_container, put_the_shoes_back, stack_bowls, sweep_the_trash, tidy_up_the_makeup_table, tie_a_knot, untie_the_shoelaces

Per-task horizon overrides: third_party/robochallenge_inference/configs/generalist/w1.yaml β†’ task_overrides (several tasks use 30). Gripper post-process: third_party/robochallenge_inference/policies/output_tricks.py β†’ apply_w1_gripper_trick.

Use with OpenDM RoboChallenge Inference

The RoboChallenge client now lives in OpenDM at third_party/robochallenge_inference (configs/generalist/w1.yaml). See the DM05 RoboChallenge Table 30 v2 Inference Guide.

# From the OpenDM repository root.
export OPENDM_ROOT=/path/to/opendm
pip install -e ".[fast-infer]"

cd third_party/robochallenge_inference
export W1_CHECKPOINT=/path/to/DM05-W1
export W1_NORM_STATS=${W1_CHECKPOINT}/norm_stats.json
pip install -r requirements.txt

python execute.py --config-name generalist/w1 \
  user_id=YOUR_USER_ID \
  submission_id=YOUR_SUBMISSION_ID

Override without env vars:

python execute.py --config-name generalist/w1 \
  checkpoint=/path/to/DM05-W1 \
  norm_stats=/path/to/DM05-W1/norm_stats.json \
  user_id=YOUR_USER_ID \
  submission_id=YOUR_SUBMISSION_ID

If W1_NORM_STATS is unset, the client falls back to ${W1_CHECKPOINT}/norm_stats.json.

Runtime Profile

From third_party/robochallenge_inference/configs/default.yaml β†’ robot_profiles.w1:

  • action_type=joint, action_mode=relative
  • is_history=false, add_state=true, speed=0.5
  • attn implementations: auto

Files

.
β”œβ”€β”€ config.json
β”œβ”€β”€ model.safetensors
β”œβ”€β”€ norm_stats.json          # includes state + action
β”œβ”€β”€ tokenizer.json
β”œβ”€β”€ tokenizer_config.json
β”œβ”€β”€ processor_config.json
β”œβ”€β”€ chat_template.jinja
β”œβ”€β”€ generation_config.json
└── README.md

Citation

@misc{dm05,
    title  = {{DM0.5}: An Open-World Foundation Model for General-Purpose Embodied Intelligence},
    author = {{Dexmal Team}},
    month  = {July},
    year   = {2026},
    url    = {https://www.dexmal.com/blog/dm0.5/index_en.html}
}