LeRobot documentation

DM0.5 cho LeRobot

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DM0.5 cho LeRobot

DM05, còn được phát hành dưới tên DM0.5, là mô hình Vision-Language-Action của Dexmal dành cho điều khiển robot trong môi trường mở. Bộ adapter LeRobot giữ nguyên đường dẫn mô hình OpenDM trong khi sử dụng các bộ dữ liệu, bộ xử lý, quy trình huấn luyện, lưu checkpoint, tải từ Hub và đánh giá chuẩn của LeRobot.

Để biết chi tiết về mô hình, hãy xem bài viết kỹ thuật DM0.5, kho OpenDM và bản phát hành Dexmal/DM05 gốc.

Cài đặt

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

Checkpoint

Sử dụng lerobot/dm05_base với --policy.path. Đây là bản chuyển đổi LeRobot tự chứa của checkpoint OpenDM thô và hỗ trợ DM05Policy.from_pretrained().

Cấu hình cơ bản ghi lại hợp đồng trạng thái/hành động 14 chiều của OpenDM. Mô hình lõi của DM05 hỗ trợ tối đa 32 chiều; việc tinh chỉnh mới sẽ xác định các đặc trưng hình ảnh, trạng thái và hành động hiệu dụng từ bộ dữ liệu đích.

Hợp đồng dữ liệu

DM05 chấp nhận các bộ dữ liệu LeRobot tiêu chuẩn với:

  • một hoặc nhiều quan sát hình ảnh hoặc video;
  • observation.state;
  • action;
  • mô tả tác vụ.

Đặt policy.image_keys khi thứ tự camera phải được chỉ định rõ ràng. RoboTwin, ALOHA và các nguồn khác không cần trình đọc riêng cho DM05 sau khi chuyển đổi sang schema LeRobot chuẩn. Giữ nguyên các khóa chuẩn observation.state và action; chỉ dùng rename_map để đồng bộ tên camera.

Huấn luyện

Công thức LIBERO tuân theo 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

Các tham số huấn luyện chính

Tham sốGiá trị LIBEROÝ nghĩa
dataset.repo_idlerobot/liberoBộ dữ liệu huấn luyện LeRobot tiêu chuẩn
policy.pathlerobot/dm05_baseĐiểm kiểm tra cơ bản tự chứa
rename_mapimage/image2 thành front/wristTên camera được sử dụng bởi lệnh eval và lerobot/dm05_libero
policy.add_statefalseKhớp với prompt LIBERO của OpenDM không có token trạng thái
policy.use_relative_actionsfalse (mặc định của checkpoint)Học các hành động đã lưu giữ nguyên; chế độ tương đối là tùy chọn bật rõ ràng
policy.chunk_size10Số lượng hành động được dự đoán cho mỗi khối
policy.n_action_steps10Số lượng được thực hiện trước lần gọi mô hình tiếp theo; tối đa chunk_size
policy.repo_idyour_repo_idĐiểm đến trên Hub; sử dụng policy.push_to_hub=false cho các lần chạy chỉ trên máy cục bộ

Chế độ kiểm soát môi trường được cấu hình riêng biệt so với biểu diễn hành động của chính sách. Chế độ tương đối yêu cầu các chiều trạng thái/hành động phải khớp nhau.

Camera

Bộ camera là một phần của cấu hình chính sách, và prompt luôn render chính xác những camera đó. Fine-tuning từ lerobot/dm05_base, vốn không khai báo camera nào, sẽ lấy các camera từ tập dữ liệu huấn luyện. Một checkpoint đã fine-tune giữ nguyên tên camera của nó: ánh xạ một tập dữ liệu có tên khác lên chúng bằng --rename_map, ví dụ --rename_map='{"observation.images.top": "observation.images.front"}'.

Thống kê chuẩn hóa

Training sử dụng thống kê state/action của dataset trong meta/stats.json. Thống kê action phải khớp với biểu diễn được dùng cho training. Với policy.use_relative_actions=true, hãy tính chúng sau phép biến đổi relative-action, sử dụng cùng chunk size và các chiều bị loại trừ. Xem hướng dẫn relative-action.

Đánh giá

Checkpoint LIBERO lerobot/dm05_libero được huấn luyện trong 50.000 bước và được đánh giá trên cả 40 tác vụ LIBERO với 5 tập (episodes) cho mỗi tác vụ:

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
BộThành công
Không gian49/50
Đối tượng50/50
Mục tiêu50/50
LIBERO-1048/50
Tổng197/200 (98.5%)

Đây là kiểm tra tái tạo 200 tập, không phải giao thức đánh chuẩn LIBERO 2.000 tập.

Bố cục checkpoint

Sử dụng thư mục checkpoint hoàn chỉnh, bao gồm trọng số chính sách, cấu hình và trạng thái bộ xử lý. Một tệp model.safetensors độc lập là không đủ để huấn luyện hoặc suy luận.

Giấy phép

Tích hợp LeRobot có giấy phép Apache-2.0. Trọng số mô hình tuân theo giấy phép đính kèm trong thẻ mô hình DM05 tương ứng.

Update on GitHub