openpi
openpi copied to clipboard
pi05-libero discrete_state_input = False
In the pi05-libero config, discrete_state_input is set to False, why is it designed in this way? In the libero, pi05-libero doesn't take the state as the input?
TrainConfig(
name="pi05_libero",
model=pi0_config.Pi0Config(pi05=True, action_horizon=10, discrete_state_input=False),
data=LeRobotLiberoDataConfig(
repo_id="physical-intelligence/libero",
base_config=DataConfig(prompt_from_task=True),
extra_delta_transform=False,
),
batch_size=256,
lr_schedule=_optimizer.CosineDecaySchedule(
warmup_steps=10_000,
peak_lr=5e-5,
decay_steps=1_000_000,
decay_lr=5e-5,
),
optimizer=_optimizer.AdamW(clip_gradient_norm=1.0),
ema_decay=0.999,
weight_loader=weight_loaders.CheckpointWeightLoader("gs://openpi-assets/checkpoints/pi05_base/params"),
pytorch_weight_path="/path/to/your/pytorch_weight_path",
num_train_steps=30_000,
),
If this is not set, this feature will be enabled by:
def __post_init__(self):
if self.max_token_len is None:
object.__setattr__(self, "max_token_len", 200 if self.pi05 else 48)
if self.discrete_state_input is None:
object.__setattr__(self, "discrete_state_input", self.pi05)
In the pi05 model, the state info is encoded in the language encoding process, however, if this is set to false, pi05 will not process the state?