LeRobot documentation
DM0.5 untuk LeRobot
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 LinuxCheckpoint
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=cudaParameter pelatihan utama
| Parameter | Nilai LIBERO | Arti |
|---|---|---|
dataset.repo_id | lerobot/libero | Dataset pelatihan LeRobot standar |
policy.path | lerobot/dm05_base | Checkpoint dasar mandiri |
rename_map | image/image2 menjadi front/wrist | Nama kamera yang digunakan oleh perintah eval dan lerobot/dm05_libero |
policy.add_state | false | Sesuai dengan prompt LIBERO OpenDM tanpa token state |
policy.use_relative_actions | false (default checkpoint) | Mempelajari aksi yang disimpan tanpa perubahan; mode relatif adalah opt-in eksplisit |
policy.chunk_size | 10 | Jumlah aksi yang diprediksi per chunk |
policy.n_action_steps | 10 | Jumlah yang dieksekusi sebelum pemanggilan model berikutnya; maksimal chunk_size |
policy.repo_id | your_repo_id | Tujuan 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| Suite | Keberhasilan |
|---|---|
| Ruang | 49/50 |
| Objek | 50/50 |
| Tujuan | 50/50 |
| LIBERO-10 | 48/50 |
| Total | 197/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