mirror of
https://github.com/huggingface/lerobot.git
synced 2026-07-23 09:46:00 +00:00
groot: auto-enable LIBERO gripper action transform for libero_sim
GR00T N1.7 emits gripper in [0,1] but LIBERO expects [-1,1]. The decode transform existed but was never auto-enabled for embodiment_tag=libero_sim, so the policy scored 0% on LIBERO eval. Auto-set it in __post_init__ (still overridable). LIBERO Spatial eval: 0% -> 98%.
This commit is contained in:
committed by
Andy Wrenn
parent
1b24d7bc86
commit
3eb7e0b65b
@@ -410,6 +410,15 @@ class GrootConfig(PreTrainedConfig):
|
|||||||
if self.base_model_path is None:
|
if self.base_model_path is None:
|
||||||
self.base_model_path = GROOT_N1_7_BASE_MODEL
|
self.base_model_path = GROOT_N1_7_BASE_MODEL
|
||||||
|
|
||||||
|
# The N1.7 LIBERO checkpoints emit a [0, 1] gripper action, but the LIBERO
|
||||||
|
# simulator expects the OpenVLA/[-1, 1] sign convention. NVIDIA's rollout
|
||||||
|
# wrapper applies this conversion; mirror it here so eval on the
|
||||||
|
# 'libero_sim' embodiment grasps correctly instead of scoring 0% success.
|
||||||
|
# This matches the embodiment-specific handling already done for the
|
||||||
|
# action execution horizon (see infer_groot_n1_7_action_execution_horizon).
|
||||||
|
if self.action_decode_transform is None and self.embodiment_tag == "libero_sim":
|
||||||
|
self.action_decode_transform = GROOT_ACTION_DECODE_TRANSFORM_LIBERO
|
||||||
|
|
||||||
if self.max_state_dim == 64:
|
if self.max_state_dim == 64:
|
||||||
self.max_state_dim = 132
|
self.max_state_dim = 132
|
||||||
if self.max_action_dim == 32:
|
if self.max_action_dim == 32:
|
||||||
|
|||||||
Reference in New Issue
Block a user