From a9821af61b4a2b7b7b1003b589fbdc2962a14278 Mon Sep 17 00:00:00 2001 From: Cheng Yin <34277382+wadeKeith@users.noreply.github.com> Date: Fri, 17 Apr 2026 22:40:08 +0800 Subject: [PATCH] fix(record): pass rename_map to make_policy in lerobot-record (#3240) * fix(record): pass rename_map to make_policy in lerobot-record Fixes #3181. The rename_map from dataset config was used for preprocessor construction but not passed to make_policy(), causing feature mismatch errors when camera key names differ between dataset and model config. make_policy() already accepts a rename_map parameter and uses it to skip visual feature consistency validation when remapping is active, but lerobot_record.py was not passing it through. * style: fix ruff format for ternary expression --------- Co-authored-by: Steven Palma --- src/lerobot/scripts/lerobot_record.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lerobot/scripts/lerobot_record.py b/src/lerobot/scripts/lerobot_record.py index fa92a296d..50b41c69d 100644 --- a/src/lerobot/scripts/lerobot_record.py +++ b/src/lerobot/scripts/lerobot_record.py @@ -559,7 +559,11 @@ def record(cfg: RecordConfig) -> LeRobotDataset: ) # Load pretrained policy - policy = None if cfg.policy is None else make_policy(cfg.policy, ds_meta=dataset.meta) + policy = ( + None + if cfg.policy is None + else make_policy(cfg.policy, ds_meta=dataset.meta, rename_map=cfg.dataset.rename_map) + ) preprocessor = None postprocessor = None interpolator = None