LeRobot documentation

DM0.5 لـ LeRobot

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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_idlerobot/liberoمجموعة بيانات تدريب LeRobot القياسية
policy.pathlerobot/dm05_baseنقطة تحقق أساسية مكتفية ذاتياً
rename_mapimage/image2 إلى front/wristأسماء الكاميرات المستخدمة في أمر eval وlerobot/dm05_libero
policy.add_statefalseيطابق موجه OpenDM الخاص بـ LIBERO دون رموز الحالة
policy.use_relative_actionsfalse (الافتراضي في نقطة الحفظ)يتعلّم الإجراءات المخزّنة دون تغيير؛ وضع النسبي هو خيار صريح
policy.chunk_size10عدد الإجراءات المتوقعة لكل شريحة
policy.n_action_steps10العدد المنفَّذ قبل استدعاء النموذج التالي؛ بحد أقصى chunk_size
policy.repo_idyour_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-1048/50
الإجمالي197/200 (98.5%)

هذا فحص إعادة إنتاج مكوّن من 200 حلقة، وليس بروتوكول معيار LIBERO المكوّن من 2,000 حلقة.

تخطيط نقطة التفتيش

استخدم مجلد نقطة التفتيش الكامل، الذي يحتوي على أوزان السياسة، والإعدادات، وحالة المعالج. لا يكفي ملف model.safetensors المستقل للتدريب أو الاستدلال.

رخصة

تكامل LeRobot مرخّص بموجب Apache-2.0. تتبع أوزان النموذج الترخيص المرفق ببطاقة النموذج DM05 المقابلة.

Update on GitHub