{ "name": "policy_preprocessor", "steps": [ { "registry_name": "rename_observations_processor", "config": { "rename_map": { "observation.images.top": "observation.images.image", "observation.images.wrist": "observation.images.image2" } } }, { "registry_name": "to_batch_processor", "config": {} }, { "registry_name": "device_processor", "config": { "device": "cuda", "float_dtype": null } }, { "registry_name": "normalizer_processor", "config": { "eps": 1e-08, "features": { "observation.images.image": { "type": "VISUAL", "shape": [ 3, 256, 256 ] }, "observation.images.image2": { "type": "VISUAL", "shape": [ 3, 256, 256 ] }, "action": { "type": "ACTION", "shape": [ 6 ] } }, "norm_map": { "ACTION": "MIN_MAX", "STATE": "MIN_MAX", "VISUAL": "IDENTITY" } }, "state_file": "policy_preprocessor_step_3_normalizer_processor.safetensors" }, { "registry_name": "lawam_resize_images", "config": { "image_features": [ "observation.images.image", "observation.images.image2" ], "image_hw": [ 256, 256 ] } }, { "registry_name": "lawam_qwen_inputs", "config": { "model_id": "Qwen/Qwen3-VL-2B-Instruct", "placeholder_token": "", "act_queries": 8, "flow_queries": 8, "primary_image_features": [ "observation.images.image" ], "wrist_image_features": [ "observation.images.image2" ], "image_hw": [ 256, 256 ], "default_task": "Execute the robot action.", "cot_prompt_before_wrist": "Your task is {instruction}.\n\nFrom main-view observations, infer the robot arm's motion.", "cot_prompt_after_wrist": "Then use observations and the inferred motion to produce the robot policy actions." } }, { "registry_name": "lawam_prepare_batch", "config": { "lam_image_feature": "observation.images.image", "image_hw": [ 256, 256 ], "action_horizon": 24, "chunk_size": 50, "action_dim": 32, "state_dim": 32, "use_state": false, "action_hz": 30.0, "embodiment_id": 25 } } ] }