add swap wrist camera's

This commit is contained in:
Pepijn
2026-02-04 22:47:28 +01:00
parent d26349c692
commit aed4130d39
+8 -15
View File
@@ -72,11 +72,11 @@ def get_mirroring_mask(robot_type: str) -> dict[str, int]:
def swap_left_right_name(name: str) -> str:
"""Swap 'left' and 'right' in a feature name."""
if name.startswith("left_"):
return "right_" + name[5:]
elif name.startswith("right_"):
return "left_" + name[6:]
return name
# Use placeholder to avoid double-swap
result = name.replace("left_", "LEFT_PLACEHOLDER_")
result = result.replace("right_", "left_")
result = result.replace("LEFT_PLACEHOLDER_", "right_")
return result
def mirror_feature_names(names: list[str]) -> tuple[list[str], dict[int, int]]:
@@ -154,7 +154,6 @@ def mirror_dataset(
mirroring_mask: dict[str, int] | None = None,
vcodec: str = "libsvtav1",
num_workers: int | None = None,
push_to_hub: bool = False,
) -> LeRobotDataset:
"""Mirror a bimanual robot dataset."""
logger.info(f"Loading dataset: {repo_id}")
@@ -194,13 +193,7 @@ def mirror_dataset(
_copy_episodes_metadata(dataset, new_meta)
logger.info(f"Mirrored dataset saved to: {output_root}")
mirrored_dataset = LeRobotDataset(output_repo_id, root=output_root)
if push_to_hub:
logger.info(f"Pushing mirrored dataset to hub: {output_repo_id}")
mirrored_dataset.push_to_hub()
return mirrored_dataset
return LeRobotDataset(output_repo_id, root=output_root)
def _mirror_data(
@@ -320,6 +313,8 @@ def _copy_episodes_metadata(
"total_episodes": src_dataset.meta.total_episodes,
"total_frames": src_dataset.meta.total_frames,
"total_tasks": src_dataset.meta.total_tasks,
"total_videos": src_dataset.meta.total_videos,
"total_chunks": src_dataset.meta.total_chunks,
})
write_info(dst_meta.info, dst_meta.root)
@@ -349,7 +344,6 @@ def main():
parser.add_argument("--output_root", type=str, default=None, help="Output dataset root directory")
parser.add_argument("--vcodec", type=str, default="libsvtav1", help="Video codec (libsvtav1, h264, hevc)")
parser.add_argument("--num_workers", type=int, default=None, help="Number of parallel workers for video processing")
parser.add_argument("--push_to_hub", action="store_true", help="Push mirrored dataset to HuggingFace Hub")
args = parser.parse_args()
mirror_dataset(
@@ -359,7 +353,6 @@ def main():
output_root=args.output_root,
vcodec=args.vcodec,
num_workers=args.num_workers,
push_to_hub=args.push_to_hub,
)