Index
2026-10-17 — Experiment

H2O → ALOHA 전체 변환 (184 seq, 114,329 frames) 및 LeRobot export

ego2robot | jobs 196898 / 197097 / 197120

TL;DR

695
최종 채택 ep (v1 527)
63,385
frames (+37%)
2h31m
8 GPU 1차 실행
0.0740
ik_fail 평균 (p90 0.264)

1 배경 / 목적

H2O 전체(train/val/test 184 seq)를 bimanual ALOHA LeRobot dataset(v2.1/v3.0)으로 변환해 학습에 바로 쓰게 하는 것이 목표. 단일 seq e2e와 worker smoke(196576)는 검증됨 — 대규모 실행의 실패율·처리량·curation 통과율을 측정.

2 작업 내용

job 196898 e2r_aloha_full: 8 GPU, own QOS, --container=python:3.11 (SAM3 Triton gcc) run_pipeline.sh configs/h2o_aloha.yaml 8 segment main vlm (GPU별 shard 23 seq, --isolate) segment(SAM 3) → main(prepare/ProPainter/render/curate) → vlm(Qwen3-VL-8B) job 196899 e2r_aloha_export: CPU 32, afterany:196898 (v2.1 lerobot 0.3.3 → 공식 converter로 v3.0 lerobot 0.6.1) 수정 반영 재실행: job 197097 e2r_aloha_replan: 4 GPU, core-own. invalidate prepare(marker 736개 삭제) → replan vlm 수정: IK teleport 금지, approach-roll 5°/frame, z-score feature 교체. segment/inpaint는 재사용 job 197120 e2r_aloha_export2: afterok:197097. v1은 *_r1 로 보존 export feature 추가: aux.ik_transition (2,) = robot.npz["transition"] (구버전 robot.npz면 KeyError로 replan 안내)

transition mask를 추가한 이유: transition 프레임은 대부분 frame_bad에 포함되지만 consumer가 "branch 전환 이동 중" 프레임만 따로 mask할 수 있어야 한다. 테스트 10 passed, smoke export(subject1/h1/1, 3 ep) load 확인.

3 결과

1차 실행 (v1)

최종 (replan 197097 1h51m + export 197120 41 min)

split후보v1 채택최종 채택최종 frames
train56925236832,621
val122791019,045
test (VLM label)24219622621,719
합계93352769563,385
단독 거부 사유v1최종
z-score15810
joint jump1230
ik_fail_ratio36187
gripper rate1618
L3 VLM910

4 Takeaway

H2O 전체를 실패 없이 처리, 8 GPU 기준 약 2.5시간이면 학습 가능한 LeRobot dataset 생성. 재현 가능한(joint ≤ 3.6 rad/s, TCP ≤ 1.2 m/s) bimanual trajectory 63k frame.

v1 채택률 56%는 kinematics/vision 한계가 아니라 IK teleport와 z-score feature 버그가 원인. 남은 손실은 kinematics: ALOHA wrist in-air 한계 약 2/3, greedy branch 선택의 transition 약 1/3.

주의: 이 695 ep는 kinematic 기준 — physics replay에서는 moved 성공 3/629 (별도 카드). grasp-aware 재변환이 필요.

5 Next Steps