HelloGitHub commited on
Commit
4c93af2
·
verified ·
1 Parent(s): 6ee8c7a

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +158 -0
README.md ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: gemma
3
+ library_name: transformers
4
+ tags:
5
+ - robotics
6
+ - robot-control
7
+ - vision-language-action
8
+ - vla
9
+ - dm05
10
+ - dm0.5
11
+ - opendm
12
+ ---
13
+
14
+ # OpenDM
15
+
16
+ ![DM0.5](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/header.png)
17
+
18
+ <p align="center">
19
+ <a href="https://www.dexmal.com/blog/dm0.5/index_en.html"><img src="https://img.shields.io/badge/📖-Tech_Blog-blue" alt="Tech Blog"></a>
20
+ <a href="https://huggingface.co/collections/Dexmal/dm05"><img src="https://img.shields.io/badge/%F0%9F%A4%97-Hugging%20Face-yellow" alt="Hugging Face"></a>
21
+ <a href="https://maas.dexmal.com/"><img src="https://img.shields.io/badge/MaaS-Online-brightgreen.svg" alt="MaaS"></a>
22
+ <a href="https://github.com/dexmal/opendm/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-blue.svg" alt="License"></a>
23
+ </p>
24
+
25
+ ## News
26
+
27
+ - [2026-07-09] DM0.5 is officially released. Read the [technical blog](https://www.dexmal.com/blog/dm0.5/index_en.html) for more details.
28
+
29
+ ## Introduction
30
+
31
+ DM0.5 is Dexmal's next-generation Vision-Language-Action model (VLA) for open-world robot control. It builds on the native embodied modeling approach introduced by DM0, with systematic upgrades for open-ended instructions, long-horizon tasks, dynamic disturbances, and multi-embodiment robot control.
32
+
33
+ OpenDM provides DM0.5 model weights, training and inference scripts, dataset registration examples, and evaluation workflows for researchers and developers to train, fine-tune, evaluate, and deploy the model.
34
+
35
+ ## Quick Start
36
+
37
+ We recommend using Docker to set up the runtime environment first, which helps avoid version mismatches across CUDA, PyTorch, flash-attn, and other dependencies on the host machine.
38
+
39
+ ### Requirements
40
+
41
+ ```text
42
+ System requirements:
43
+ Ubuntu 20.04 / 22.04
44
+ NVIDIA GPU
45
+ NVIDIA Driver
46
+ Docker
47
+ NVIDIA Container Toolkit
48
+ Conda (optional, only required for local pip installation)
49
+
50
+ Recommended GPUs:
51
+ RTX 4090, A100, H100, H20
52
+ 8 GPUs are recommended for training, and 1 GPU is sufficient for deployment inference.
53
+ ```
54
+
55
+ ### Docker Installation
56
+
57
+ ```bash
58
+ git clone https://github.com/dexmal/opendm.git
59
+ cd opendm
60
+
61
+ docker run -it --rm --gpus all --network host \
62
+ --name opendm \
63
+ --shm-size=16g \
64
+ -v "$PWD":/app/opendm \
65
+ -w /app/opendm \
66
+ dexmal/opendm:latest /bin/bash
67
+
68
+ # Run from the OpenDM repository root inside the container.
69
+ conda activate opendm
70
+ pip install -e .
71
+ ```
72
+
73
+ ### Local Installation
74
+
75
+ ```bash
76
+ conda create -n opendm python=3.10 -y
77
+ conda activate opendm
78
+
79
+ pip install torch torchvision \
80
+ --index-url https://download.pytorch.org/whl/cu128
81
+
82
+ pip install ninja packaging
83
+ MAX_JOBS=2 pip install flash-attn --no-build-isolation
84
+
85
+ # Enter the OpenDM repository root.
86
+ cd opendm
87
+ pip install -e .
88
+ ```
89
+
90
+ ## Inference
91
+
92
+ After installing the environment and initializing the source code, you can start the model inference service. The service loads the specified checkpoint and exposes an HTTP endpoint for benchmark clients or other applications to request action predictions. Use a checkpoint that contains `norm_stats.json`, or make sure the matching stats already exist under `./norm_stats/`.
93
+
94
+ ```bash
95
+ script/dm05_launcher.sh \
96
+ --task inference \
97
+ --nproc_per_node 1 \
98
+ --model-config.model-name-or-path ./checkpoints/DM05 \
99
+ --model-config.chunk-size 50 \
100
+ --inference-config.port 7891
101
+ ```
102
+
103
+ Arguments:
104
+
105
+ - `--task`: task type. Use `inference` for inference.
106
+ - `--nproc_per_node`: number of GPUs on a single node. 1 GPU is sufficient for inference.
107
+ - `--model-config.model-name-or-path`: model checkpoint path.
108
+ - `--model-config.chunk-size`: action chunk length.
109
+ - `--inference-config.port`: inference service port.
110
+
111
+ During inference, the service first looks for `norm_stats.json` in the checkpoint directory. If it is not found, it falls back to the matching file under `./norm_stats/`, which is normally generated during training for the same dataset, action mode, and chunk size.
112
+
113
+ After the service starts, send a test request to verify that the endpoint returns a valid response:
114
+
115
+ ```bash
116
+ bash tests/curl_demo.sh http://SERVER_IP:7891/process_frame
117
+ ```
118
+
119
+ `/process_frame` accepts a `multipart/form-data` request:
120
+
121
+ - `text`: task instruction.
122
+ - `states`: JSON array of the current robot state. The dimension and order must match the model's training and normalization statistics.
123
+ - `image`: image files, one field per configured image key. The order must match `--inference-config.image-keys`.
124
+ - `robot_type`: optional built-in robot type. Currently only `DOS W1` is supported. It provides the robot state description when relative actions need to be converted back to absolute actions.
125
+ - `control_mode` and `speed`: text conditioning fields required when directly serving the pretrained `Dexmal/DM05` model. They are normally not required for SFT checkpoints unless your SFT data was trained with the same fields.
126
+
127
+ A successful response has the following shape.
128
+
129
+ ```text
130
+ {
131
+ "response": [
132
+ [0.012, -0.034, 0.18, "..."],
133
+ [0.015, -0.031, 0.17, "..."],
134
+ ...
135
+ ]
136
+ }
137
+ ```
138
+
139
+ ## Community and Support
140
+
141
+ - Learn more about Dexmal products and model updates on the [Dexmal website](https://www.dexmal.com/).
142
+ - Get DM model weights from [Dexmal Hugging Face](https://huggingface.co/Dexmal).
143
+ - If you encounter issues, please report them through [GitHub Issues](https://github.com/dexmal/opendm/issues).
144
+ - For further discussion, scan the [WeChat QR code](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/wechat.jpeg) to contact us.
145
+
146
+ We will continue to release more model weights, technical documentation, and examples. If this project is helpful to you, please consider giving us a star on GitHub [![GitHub](https://img.shields.io/github/stars/dexmal/opendm?color=5B5BD6)](https://github.com/dexmal/opendm). Your support helps us move forward.
147
+
148
+ ## Citation
149
+
150
+ ```bibtex
151
+ @misc{dm05,
152
+ title = {{DM0.5}: An Open-World Foundation Model for General-Purpose Embodied Intelligence},
153
+ author = {{Dexmal Team}},
154
+ month = {July},
155
+ year = {2026},
156
+ url = {https://www.dexmal.com/blog/dm0.5/index_en.html}
157
+ }
158
+ ```