-
Notifications
You must be signed in to change notification settings - Fork 3.2k
feat: support wallx model #2593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds comprehensive support for the Wall-X policy, a Vision-Language-Action model for cross-embodiment robotic control based on Qwen2.5-VL with flow matching. The implementation integrates Wall-X into the LeRobot framework, providing a unified interface for training and deploying this advanced multimodal policy.
Key Changes:
- Implemented Wall-X policy with Qwen2.5-VL backbone and action prediction via flow matching
- Added configuration, processor, and model components with MoE architecture support
- Integrated Wall-X into policy factory system for seamless instantiation
- Added optional dependency group for Wall-X specific requirements
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 34 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/policies/wall_x/test_wallx.py | Test file for Wall-X policy integration (CI-skipped for local testing only) |
| tests/policies/wall_x/init.py | Test module initialization |
| src/lerobot/policies/wall_x/utils.py | Utility functions for data processing, text formatting, and action tokenization |
| src/lerobot/policies/wall_x/qwen_model/qwen2_5_vl_moe.py | Extended Qwen2.5-VL model with MoE architecture and action processing |
| src/lerobot/policies/wall_x/qwen_model/configuration_qwen2_5_vl.py | Configuration classes for Qwen2.5-VL vision and language components |
| src/lerobot/policies/wall_x/processor_wall_x.py | Pre and post-processing pipelines for Wall-X inputs/outputs |
| src/lerobot/policies/wall_x/modeling_wall_x.py | Main Wall-X policy implementation with action head and training logic |
| src/lerobot/policies/wall_x/constant.py | Constants for camera mappings, resolution, and preprocessing parameters |
| src/lerobot/policies/wall_x/configuration_wall_x.py | Wall-X configuration with validation and optimizer presets |
| src/lerobot/policies/wall_x/init.py | Module exports for Wall-X components |
| src/lerobot/policies/wall_x/README.md | Documentation describing Wall-X capabilities and citation info |
| src/lerobot/policies/factory.py | Factory updates to register and instantiate Wall-X policy |
| src/lerobot/policies/init.py | Added WallXConfig to policy module exports |
| pyproject.toml | Added wallx optional dependency group with required packages |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
pkooij
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall, one TODO for me is test it on real robot (SO101), could you make flash-attention optional? Then once I know the correct torchcodec version I can kick off training and verify it on real robot.
For later: we do need to port preprocessing to pipeline steps
This pull request introduces support for the new Wall-X policy, a Vision-Language-Action model for cross-embodiment robotic control, into the
lerobotcodebase. The changes include adding the Wall-X policy configuration, model, processor, and associated dependencies, as well as updating the policy factory to recognize and instantiate Wall-X. These updates enable users to train and deploy the Wall-X policy using the same unified interface as other policies in the library.Wall-X Policy Integration
WallXConfig,WallXPolicy, and processor logic in the newsrc/lerobot/policies/wall_x/module. This includes configuration validation, optimizer/scheduler presets, and pre/post-processing pipelines tailored for Wall-X. [1] [2] [3] [4]Policy Factory and Registry Updates
get_policy_class,make_policy_config, andmake_pre_post_processors). Factory docstrings updated to reflect Wall-X as a supported policy type. [1] [2] [3] [4] [5] [6] [7]__init__.pyto includeWallXConfigin the export list for easier imports and discoverability. [1] [2]Dependency Management
wallxinpyproject.tomlwith required packages for training and inference (torch, transformers, accelerate, etc.), and included it in thealldependency group for convenience. [1] [2]