mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-26 05:59:52 +00:00
add swap wrist camera's
This commit is contained in:
@@ -72,11 +72,11 @@ def get_mirroring_mask(robot_type: str) -> dict[str, int]:
|
|||||||
|
|
||||||
def swap_left_right_name(name: str) -> str:
|
def swap_left_right_name(name: str) -> str:
|
||||||
"""Swap 'left' and 'right' in a feature name."""
|
"""Swap 'left' and 'right' in a feature name."""
|
||||||
if name.startswith("left_"):
|
# Use placeholder to avoid double-swap
|
||||||
return "right_" + name[5:]
|
result = name.replace("left_", "LEFT_PLACEHOLDER_")
|
||||||
elif name.startswith("right_"):
|
result = result.replace("right_", "left_")
|
||||||
return "left_" + name[6:]
|
result = result.replace("LEFT_PLACEHOLDER_", "right_")
|
||||||
return name
|
return result
|
||||||
|
|
||||||
|
|
||||||
def mirror_feature_names(names: list[str]) -> tuple[list[str], dict[int, int]]:
|
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,
|
mirroring_mask: dict[str, int] | None = None,
|
||||||
vcodec: str = "libsvtav1",
|
vcodec: str = "libsvtav1",
|
||||||
num_workers: int | None = None,
|
num_workers: int | None = None,
|
||||||
push_to_hub: bool = False,
|
|
||||||
) -> LeRobotDataset:
|
) -> LeRobotDataset:
|
||||||
"""Mirror a bimanual robot dataset."""
|
"""Mirror a bimanual robot dataset."""
|
||||||
logger.info(f"Loading dataset: {repo_id}")
|
logger.info(f"Loading dataset: {repo_id}")
|
||||||
@@ -194,13 +193,7 @@ def mirror_dataset(
|
|||||||
_copy_episodes_metadata(dataset, new_meta)
|
_copy_episodes_metadata(dataset, new_meta)
|
||||||
|
|
||||||
logger.info(f"Mirrored dataset saved to: {output_root}")
|
logger.info(f"Mirrored dataset saved to: {output_root}")
|
||||||
mirrored_dataset = LeRobotDataset(output_repo_id, root=output_root)
|
return 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
|
|
||||||
|
|
||||||
|
|
||||||
def _mirror_data(
|
def _mirror_data(
|
||||||
@@ -320,6 +313,8 @@ def _copy_episodes_metadata(
|
|||||||
"total_episodes": src_dataset.meta.total_episodes,
|
"total_episodes": src_dataset.meta.total_episodes,
|
||||||
"total_frames": src_dataset.meta.total_frames,
|
"total_frames": src_dataset.meta.total_frames,
|
||||||
"total_tasks": src_dataset.meta.total_tasks,
|
"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)
|
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("--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("--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("--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()
|
args = parser.parse_args()
|
||||||
|
|
||||||
mirror_dataset(
|
mirror_dataset(
|
||||||
@@ -359,7 +353,6 @@ def main():
|
|||||||
output_root=args.output_root,
|
output_root=args.output_root,
|
||||||
vcodec=args.vcodec,
|
vcodec=args.vcodec,
|
||||||
num_workers=args.num_workers,
|
num_workers=args.num_workers,
|
||||||
push_to_hub=args.push_to_hub,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user