Skip to content

[Bug] H0.5 inference server incompatible with released LIBERO/RoboCasa benchmark client #55

Description

@MarkfuGod

Hi @zawnpn

Description

Running the released Being-H0.5 inference server (BeingH.inference.run_server_vla) with the
benchmark client end-to-end fails before/at rollout due to three compatibility issues.

Bugs

  1. get_modality_config endpoint takes a payload it shouldn't.
    In Being-H05/BeingH/inference/beingh_service.py, get_modality_config is registered with the
    default requires_input=True. The server's request handler therefore calls
    policy.get_modality_config(request["data"]), but BeingHPolicy.get_modality_config(self) takes
    no arguments → TypeError: get_modality_config() takes 1 positional argument but 2 were given.
  2. BaseDataConfig is missing modality_config().
    BeingHPolicy.get_modality_config() returns self.data_config.modality_config(), but neither
    BaseDataConfig nor any subclass defines modality_config()AttributeError. This blocks
    client-side modality discovery.
  3. State observations are sent as float64.
    The LIBERO benchmark reaches a real rollout but fails in state preprocessing: simulator
    observations are float64, while the H0.5 transform pipeline (StateActionToTensor
    StateActionTransform) keeps the numpy dtype (torch.from_numpy) and the model expects float32.
    RoboCasa uses the same observation path and is affected identically.

Affected files

  • Being-H05/BeingH/inference/beingh_service.py
  • Being-H05/configs/data_config.py
  • Being-H05/BeingH/benchmark/utils/policy.py
  • Being-H05/BeingH/benchmark/robocasa/run_robocasa_eval_fast.py
    Note: bugs (1) and (2) also exist in the tutorials/Being-H-EDU/ workspace (same
    beingh_service.py registration and same data_config.py without modality_config()).

Proposed fix

  • Register the get_modality_config endpoint with requires_input=False.
  • Add a generic BaseDataConfig.modality_config() returning the video/state/action/language
    ModalityConfigs from the existing *_KEYS and obs_indices/action_indices.
  • Cast LIBERO and RoboCasa benchmark state observations to float32 before sending.

Validation

  • py_compile of the four files; local server start; verified ping, get_modality_config,
    remote dummy get_action.
  • LIBERO eval (robosuite 1.4.0): spatial 493/500, object 485/500, goal 490/500, long 475/500.
    Fix in Fix H0.5 benchmark inference compatibility #50.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions