DM05-MEM for LeRobot

This is a LeRobot-format conversion of the public Dexmal/DM05-MEM base weights, adapted for LeRobot datasets, processors, training, and inference. The BF16 weights are unchanged. Load the complete checkpoint with --policy.path or DM05Policy.from_pretrained(); no checkpoint conversion is required.

Requirements

Use Python 3.12 or later and a LeRobot checkout with DM05-MEM support. From the LeRobot repository root, install the training dependencies:

pip install -e '.[training,dataset,dm05]'

Fine-tuning

Prepare a standard LeRobot dataset containing images, observation.state, action, and task descriptions, then fine-tune directly:

lerobot-train \
  --policy.path=Dexmal/DM05-Lerobot-MEM \
  --dataset.repo_id=your_org/your_dataset \
  --policy.use_memory=true \
  --policy.memory_image_key=observation.images.cam_high \
  --policy.memory_frames=20 --policy.memory_stride=25 \
  --policy.chunk_size=25 --policy.n_action_steps=25 \
  --policy.push_to_hub=false \
  --policy.device=cuda \
  --batch_size=1 \
  --steps=1000 \
  --output_dir=outputs/train/dm05-mem

For a local copy, replace the Hub identifier with the checkpoint directory. Training uses the target dataset's normalization statistics. Match its camera names to the checkpoint with --rename_map, for example:

--rename_map='{"observation.images.top":"observation.images.cam_high","observation.images.left_wrist":"observation.images.cam_left_wrist","observation.images.right_wrist":"observation.images.cam_right_wrist"}'

Use policy.image_keys to set camera order and policy.memory_image_key to select the history camera. Adjust the history stride to the dataset frame rate; memory_stride=25 samples one past frame per second for 25 FPS data. Set policy.robot_type for the target robot prompt and use state/action statistics appropriate to the target dataset and action representation. Fresh fine-tuning uses the target dataset's feature dimensions and statistics; inference uses those saved with the fine-tuned checkpoint.

Default Configuration

The checkpoint includes the following configurable LeRobot defaults:

Setting Value
State and output action 14-dimensional absolute joint values
Cameras, in order cam_high, cam_left_wrist, cam_right_wrist
Image feature prefix observation.images.
Main memory camera observation.images.cam_high
Past frames / stride 20 / 25 dataset or captured control frames
Input capture rate for this profile 25 FPS
Prediction / execution chunk 25 / 25
Robot prompt Aloha
Normalization Per-dimension quantiles; clipping disabled

These are adapter defaults, not restrictions on the fine-tuning task. The saved joint-space processor profile differs from the source release's native EEF inference profile. Use target-dataset statistics for fine-tuning rather than reusing the bundled statistics for a different robot or action representation.

Loading and History

from lerobot.policies.dm05.modeling_dm05 import DM05Policy
from lerobot.policies.factory import make_pre_post_processors

checkpoint = "Dexmal/DM05-Lerobot-MEM"
policy = DM05Policy.from_pretrained(checkpoint)
preprocessor, postprocessor = make_pre_post_processors(
    policy.config, pretrained_path=checkpoint,
)

Feed every control-frame observation through the saved preprocessor and select_action(), then use the saved postprocessor. Reset the policy and processors between episodes. Direct predict_action_chunk() calls require an explicit history sequence and padding masks, not one current image per action chunk.

Checkpoint Format

The directory contains config.json with nested core_config, BF16 model.safetensors, pre/postprocessor configurations and normalization tensors, and the tokenizer/image-processor assets in dm05_processor/. conversion.json records the conversion provenance and saved processor profile. The redundant tied input-embedding alias is omitted from the saved state dict; its values are reconstructed from the tied output embedding on load.

Resources

License

The source model is distributed under the Gemma license. This conversion retains that license and its applicable terms; it does not grant additional rights. See the source model card.

Downloads last month
-
Safetensors
Model size
5B params
Tensor type
BF16
ยท
Video Preview
loading

Model tree for Dexmal/DM05-Lerobot-MEM

Base model

Dexmal/DM05
Finetuned
Dexmal/DM05-MEM
Finetuned
(1)
this model