Instructions to use Dexmal/DM05-Lerobot with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use Dexmal/DM05-Lerobot with LeRobot:
- Notebooks
- Google Colab
- Kaggle
| license: gemma | |
| library_name: lerobot | |
| pipeline_tag: robotics | |
| base_model: Dexmal/DM05 | |
| tags: | |
| - robotics | |
| - robot-control | |
| - vision-language-action | |
| - vla | |
| - lerobot | |
| - dm05 | |
| - dm0.5 | |
| - opendm | |
| # DM0.5 for LeRobot | |
|  | |
| `Dexmal/DM05-Lerobot` is the LeRobot-format base checkpoint of | |
| [DM0.5](https://huggingface.co/Dexmal/DM05), adapted from | |
| [OpenDM](https://github.com/dexmal/OpenDM). It predicts continuous action chunks from images, robot state, | |
| and language instructions. | |
| This is a base model for supervised fine-tuning, not a LIBERO-, RoboTwin-, or robot-specific checkpoint. | |
| ## Fine-tuning | |
| ```bash | |
| lerobot-train \ | |
| --dataset.repo_id=HuggingFaceVLA/libero \ | |
| --policy.path=Dexmal/DM05-Lerobot \ | |
| --policy.add_state=false \ | |
| --policy.chunk_size=10 \ | |
| --policy.n_action_steps=10 \ | |
| --policy.repo_id=your_repo_id \ | |
| --output_dir=outputs/train/dm05-libero \ | |
| --steps=50000 \ | |
| --batch_size=8 \ | |
| --policy.device=cuda | |
| ``` | |
| For local-only training, replace `--policy.repo_id=...` with `--policy.push_to_hub=false`. | |
| This LIBERO recipe matches OpenDM: it excludes state from the prompt and learns stored actions unchanged. Keep | |
| `policy.add_state=true` unless the target recipe specifies otherwise. Policy action representation and environment | |
| control mode are configured independently. | |
| Absolute-action training uses the standard LeRobot state/action statistics in `meta/stats.json`. Relative-action | |
| training requires separately prepared statistics because its arm targets are `action - state`: | |
| ```bash | |
| uv run python -m lerobot.policies.dm05.prepare_stats_dm05 \ | |
| --repo-id=org/dataset \ | |
| --root=/path/to/dataset \ | |
| --chunk-size=10 \ | |
| --drop-n-last-frames=1 \ | |
| --force | |
| ``` | |
| The command writes `meta/stats.json` in place. Match its chunk, episode selection, and excluded-joint settings to | |
| training. Without target statistics, checkpoint statistics are reused with a warning and are valid only for the | |
| same feature contract and distribution. | |
| ## Evaluation | |
| Evaluate a fine-tuned checkpoint: | |
| ```bash | |
| MUJOCO_GL=egl lerobot-eval \ | |
| --policy.path=/path/to/checkpoint/pretrained_model \ | |
| --env.type=libero \ | |
| --env.task=libero_spatial \ | |
| --env.control_mode=relative \ | |
| --policy.device=cuda | |
| ``` | |
| ## Checkpoint contract | |
| The base checkpoint uses OpenDM's 14-dimensional state/action schema. Fresh SFT takes its effective feature schema | |
| and statistics from the target LeRobot dataset. | |
| Load the complete checkpoint directory with `DM05Policy.from_pretrained()` or `--policy.path`; policy config, | |
| tokenizer, preprocessing state, and weights are all required. | |
| ## Resources | |
| - [DM0.5 technical blog](https://www.dexmal.com/blog/dm0.5/index_en.html) | |
| - [OpenDM repository](https://github.com/dexmal/OpenDM) | |
| - [LeRobot repository](https://github.com/huggingface/lerobot) | |
| ## Citation | |
| ```bibtex | |
| @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} | |
| } | |
| ``` | |