LeRobot documentation

DM0.5 untuk LeRobot

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DM0.5 untuk LeRobot

DM05, yang juga dirilis sebagai DM0.5, adalah model Vision-Language-Action dari Dexmal untuk kontrol robot di dunia terbuka. Adapter LeRobot mempertahankan jalur model OpenDM sambil menggunakan dataset, prosesor, pelatihan, checkpointing, pemuatan Hub, dan evaluasi standar LeRobot.

Untuk detail model, lihat blog teknis DM0.5, repo OpenDM, dan rilis Dexmal/DM05 mentah.

Instalasi

pip install -e ".[training,dm05]"   # training
pip install -e ".[libero,dm05]"     # LIBERO evaluation on Linux

Checkpoint

Gunakan lerobot/dm05_base dengan --policy.path. Ini adalah konversi LeRobot yang mandiri dari checkpoint OpenDM mentah dan mendukung DM05Policy.from_pretrained().

Konfigurasi dasar mencatat kontrak state/action 14 dimensi OpenDM. Model inti DM05 mendukung hingga 32 dimensi; fine-tuning baru menyelesaikan fitur gambar, state, dan action yang efektif dari dataset target.

Kontrak dataset

DM05 menerima dataset LeRobot standar dengan:

  • satu atau lebih observasi gambar atau video;
  • observation.state;
  • action;
  • deskripsi tugas.

Set policy.image_keys ketika urutan kamera harus eksplisit. RoboTwin, ALOHA, dan sumber lain tidak memerlukan pembaca khusus DM05 setelah konversi ke skema LeRobot standar. Pertahankan kunci standar observation.state dan action; gunakan rename_map hanya untuk menyelaraskan nama kamera.

Pelatihan

Resep LIBERO mengikuti OpenDM:

lerobot-train \
  --dataset.repo_id=lerobot/libero \
  --rename_map='{"observation.images.image": "observation.images.front", "observation.images.image2": "observation.images.wrist"}' \
  --dataset.video_backend=pyav \
  --policy.path=lerobot/dm05_base \
  --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

Parameter pelatihan utama

ParameterNilai LIBEROArti
dataset.repo_idlerobot/liberoDataset pelatihan LeRobot standar
policy.pathlerobot/dm05_baseCheckpoint dasar mandiri
rename_mapimage/image2 menjadi front/wristNama kamera yang digunakan oleh perintah eval dan lerobot/dm05_libero
policy.add_statefalseSesuai dengan prompt LIBERO OpenDM tanpa token state
policy.use_relative_actionsfalse (default checkpoint)Mempelajari aksi yang disimpan tanpa perubahan; mode relatif adalah opt-in eksplisit
policy.chunk_size10Jumlah aksi yang diprediksi per chunk
policy.n_action_steps10Jumlah yang dieksekusi sebelum pemanggilan model berikutnya; maksimal chunk_size
policy.repo_idyour_repo_idTujuan Hub; gunakan policy.push_to_hub=false untuk eksekusi lokal saja

Mode kontrol lingkungan dikonfigurasi secara terpisah dari representasi aksi kebijakan. Mode relatif membutuhkan dimensi state/aksi yang sesuai.

Kamera

Set kamera merupakan bagian dari konfigurasi kebijakan, dan prompt selalu merender tepat kamera-kamera tersebut. Fine-tuning dari lerobot/dm05_base, yang tidak mendeklarasikan apa pun, mengambil kamera dari dataset pelatihan. Checkpoint yang di-fine-tune mempertahankan nama kameranya sendiri: petakan dataset dengan nama yang berbeda ke nama-nama tersebut menggunakan --rename_map, misalnya --rename_map='{"observation.images.top": "observation.images.front"}'.

Statistik normalisasi

Pelatihan menggunakan statistik state/action dataset di meta/stats.json. Statistik action harus sesuai dengan representasi yang digunakan untuk pelatihan. Dengan policy.use_relative_actions=true, hitung statistik tersebut setelah transformasi relative-action, menggunakan ukuran chunk dan dimensi yang dikecualikan yang sama. Lihat panduan relative-action.

Evaluasi

Checkpoint LIBERO lerobot/dm05_libero dilatih selama 50.000 langkah dan dievaluasi pada 40 tugas LIBERO dengan 5 episode per tugas:

MUJOCO_GL=egl lerobot-eval \
  --policy.path=lerobot/dm05_libero \
  --env.type=libero \
  --env.task=libero_spatial,libero_object,libero_goal,libero_10 \
  --env.camera_name_mapping='{"agentview_image":"front","robot0_eye_in_hand_image":"wrist"}' \
  --env.observation_height=256 \
  --env.observation_width=256 \
  --env.control_mode=relative \
  --eval.n_episodes=5 \
  --eval.batch_size=1 \
  --seed=7 \
  --policy.device=cuda
SuiteKeberhasilan
Ruang49/50
Objek50/50
Tujuan50/50
LIBERO-1048/50
Total197/200 (98.5%)

Ini adalah pemeriksaan reproduksi 200 episode, bukan protokol benchmark LIBERO 2.000 episode.

Tata letak checkpoint

Gunakan direktori checkpoint lengkap, yang berisi bobot kebijakan, konfigurasi, dan status prosesor. model.safetensors mandiri tidak cukup untuk pelatihan atau inferensi.

Lisensi

Integrasi LeRobot berlisensi Apache-2.0. Bobot model mengikuti lisensi yang terlampir pada kartu model DM05 yang sesuai.

Update on GitHub