Views
No views yet
ActiveTokenSampler weights in this checkpoint are randomly initialized. This artifact
is the starting point for fine-tuning; do not expect baseline task performance with pruning enabled.
For the fine-tuned version see
xpuenabler/molmoact2-libero_grid_sampler_fine_tuned.ActiveTokenSampler: a global-pooled feature predicts K
normalized 2D coordinates, F.grid_sample bilinearly reads features at those locations, and a
coordinate MLP injects geometry.use_grid_token_sampler=true, grid_token_sampler_num_tokens=16
(stored in config.json and in the saved processor pipeline).feat/grid-sampler-molmoact2 branch of
nota-github/xpu-lerobot:1import torch
2from lerobot.configs.policies import PreTrainedConfig
3from lerobot.policies.factory import make_pre_post_processors
4from lerobot.policies.molmoact2.modeling_molmoact2 import MolmoAct2Policy
5
6path = "xpuenabler/molmoact2-libero_grid_sampler_random_init"
7cfg = PreTrainedConfig.from_pretrained(path)
8cfg.pretrained_path = path
9cfg.device = "cuda"
10cfg.inference_action_mode = "continuous"
11
12policy = MolmoAct2Policy.from_pretrained(path, config=cfg)
13preprocessor, postprocessor = make_pre_post_processors(
14 policy_cfg=cfg, pretrained_path=path,
15 preprocessor_overrides={"device_processor": {"device": "cuda"}},
16)
17
18batch = preprocessor({
19 "observation.images.image": torch.rand(3, 256, 256),
20 "observation.images.wrist_image": torch.rand(3, 256, 256),
21 "observation.state": torch.zeros(8),
22 "task": "pick up the black bowl",
23})
24action = postprocessor(policy.select_action(batch))1@inproceedings{feng2026gridsampler,
2 title = {See What Matters: Differentiable Grid Sample Pruning for Generalizable Vision-Language-Action Model},
3 author = {Feng, Yixu and Zhao, Zinan and Ma, Yanxiang and Xia, Chenghao and Du, Chengbin and Wang, Yunke and Xu, Chang},
4 booktitle = {Forty-Third International Conference on Machine Learning (ICML)},
5 year = {2026}
6}