LeRobot documentation
DM0.5 لـ LeRobot
DM0.5 لـ LeRobot
DM05، الذي نُشر أيضًا باسم DM0.5، هو نموذج الرؤية واللغة والإجراء الخاص بـ Dexmal للتحكم في الروبوتات في بيئات مفتوحة. يحافظ مُكيّف LeRobot على مسار نموذج OpenDM مع استخدام مجموعات بيانات LeRobot القياسية، ومعالجاتها، والتدريب، وحفظ النقاط، وتحميل Hub، والتقييم.
لتفاصيل النموذج، راجع المدونة التقنية لـ DM0.5، ومستودع OpenDM، وإصدار Dexmal/DM05 الخام.
التثبيت
pip install -e ".[training,dm05]" # training
pip install -e ".[libero,dm05]" # LIBERO evaluation on Linuxنقطة التفتيش
استخدم lerobot/dm05_base مع --policy.path. وهو تحويل مستقل من LeRobot لنقطة الفحص الخام OpenDM ويدعم DM05Policy.from_pretrained().
يسجّل الإعداد الأساسي عقد الحالة/الإجراء ذي الأبعاد الـ 14 الخاص بـ OpenDM. يدعم النموذج الأساسي لـ DM05 حتى 32 بُعدًا؛ ويحلّ التدريب الدقيق الجديد الميزات الفعلية للصورة والحالة والإجراء من مجموعة البيانات المستهدفة.
عقد مجموعة البيانات
يقبل DM05 مجموعات بيانات LeRobot القياسية مع:
- ملاحظة أو أكثر من ملاحظات الصور أو الفيديو؛
observation.state;action;- وصف المهام.
اضبط policy.image_keys عندما يجب أن يكون ترتيب الكاميرات صريحًا. لا تحتاج مصادر مثل RoboTwin وALOHA وغيرها إلى قارئ محدد لـDM05 بعد التحويل إلى مخطط LeRobot القياسي. احتفظ بالمفاتيح القياسية observation.state وaction؛ واستخدم rename_map فقط لمواءمة أسماء الكاميرات.
التدريب
تتبع وصفة LIBERO نهج 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معلمات التدريب الرئيسية
| معامل | قيمة LIBERO | المعنى |
|---|---|---|
dataset.repo_id | lerobot/libero | مجموعة بيانات تدريب LeRobot القياسية |
policy.path | lerobot/dm05_base | نقطة تحقق أساسية مكتفية ذاتياً |
rename_map | image/image2 إلى front/wrist | أسماء الكاميرات المستخدمة في أمر eval وlerobot/dm05_libero |
policy.add_state | false | يطابق موجه OpenDM الخاص بـ LIBERO دون رموز الحالة |
policy.use_relative_actions | false (الافتراضي في نقطة الحفظ) | يتعلّم الإجراءات المخزّنة دون تغيير؛ وضع النسبي هو خيار صريح |
policy.chunk_size | 10 | عدد الإجراءات المتوقعة لكل شريحة |
policy.n_action_steps | 10 | العدد المنفَّذ قبل استدعاء النموذج التالي؛ بحد أقصى chunk_size |
policy.repo_id | your_repo_id | وجهة Hub؛ استخدم policy.push_to_hub=false للتشغيل المحلي فقط |
يُضبط وضع التحكم في البيئة بشكل منفصل عن تمثيل إجراء السياسة. ويتطلب الوضع النسبي تطابق أبعاد الحالة/الإجراء.
الكاميرات
تُعد مجموعة الكاميرات جزءًا من إعدادات السياسة، ويعرض الموجه دائمًا تلك الكاميرات تحديدًا. عند ضبط الدقة انطلاقًا من lerobot/dm05_base، الذي لا يُعلن عن أي كاميرات، تُتّخذ كاميرات مجموعة بيانات التدريب. يحتفظ نقطة الفحص المُضبط بدقة بأسماء كاميراته الخاصة: خرائط مجموعة بيانات بأسماء مختلفة عليها باستخدام --rename_map، على سبيل المثال --rename_map='{"observation.images.top": "observation.images.front"}'.
إحصاءات التطبيع
تستخدم عملية التدريب إحصاءات الحالة/الإجراء الخاصة بالبيانات الموجودة في meta/stats.json. يجب أن تتطابق إحصاءات الإجراء مع التمثيل المستخدم للتدريب. عند استخدام policy.use_relative_actions=true، احسبها بعد تحويل الإجراء النسبي، مع استخدام نفس حجم المقطع والأبعاد المستبعدة. راجد دليل الإجراء النسبي.
التقييم
تم تدريب نقطة التفتيش LIBERO lerobot/dm05_libero على مدى 50,000 خطوة وتقييمها على جميع مهام LIBERO الأربعين مع 5 حلقات لكل مهمة:
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 | النجاحات |
|---|---|
| مكاني | 49/50 |
| كائن | 50/50 |
| الهدف | 50/50 |
| LIBERO-10 | 48/50 |
| الإجمالي | 197/200 (98.5%) |
هذا فحص إعادة إنتاج مكوّن من 200 حلقة، وليس بروتوكول معيار LIBERO المكوّن من 2,000 حلقة.
تخطيط نقطة التفتيش
استخدم مجلد نقطة التفتيش الكامل، الذي يحتوي على أوزان السياسة، والإعدادات، وحالة المعالج. لا يكفي ملف model.safetensors المستقل للتدريب أو الاستدلال.
رخصة
تكامل LeRobot مرخّص بموجب Apache-2.0. تتبع أوزان النموذج الترخيص المرفق ببطاقة النموذج DM05 المقابلة.
Update on GitHub