mask 그룹에 랜덤 샘플링된 demo ID가 저장됨 — 앞에서 N개가 아니라 sparse 선택IDM 학습에 사용할 RoboCasa MG-30 데이터를 추출하려면 공식 split 구조를 이해해야 한다. 단순히 "앞에서 30개"를 뽑으면 실제 benchmark와 다른 데이터가 될 수 있어, 공식 HDF5 mask를 기반으로 하는 올바른 추출 방법을 조사했다.
원본 HDF5 파일 내 mask 그룹에 모든 split tier가 정의되어 있다.
각 entry는 해당 tier에 포함된 demo의 문자열 ID 배열 (예: b'demo_1161').
LeRobot 변환 시 demo_N이 episode_N으로 1:1 매핑됨을 프레임 수로 직접 검증했다.
따라서 HDF5 mask의 demo_N에서 N을 추출하면 곧바로 LeRobot episode_N에 대응된다.
| Task | Category | HDF5 상대경로 |
|---|---|---|
| CoffeePressButton | kitchen_coffee | ...2024-05-04-22-21-32/ |
| CoffeeServeMug | kitchen_coffee | ...2024-05-04-22-21-50/ |
| CoffeeSetupMug | kitchen_coffee | ...2024-05-04-22-22-13.../ |
| CloseDoubleDoor | kitchen_doors | ...2024-05-04-22-22-42.../ |
| CloseSingleDoor | kitchen_doors | ...2024-05-04-22-34-56/ |
| OpenDoubleDoor | kitchen_doors | ...2024-05-04-22-35-53/ |
| OpenSingleDoor | kitchen_doors | ...2024-05-04-22-37-39/ |
| CloseDrawer | kitchen_drawer | ...2024-05-09-09-32-19/ |
| OpenDrawer | kitchen_drawer | ...2024-05-04-22-38-42/ |
| TurnOffMicrowave | kitchen_microwave | ...2024-05-04-22-39-23/ |
| TurnOnMicrowave | kitchen_microwave | ...2024-05-04-22-40-00/ |
| PnPCabToCounter | kitchen_pnp | ...2024-07-12-04-33-29/ |
| PnPCounterToCab | kitchen_pnp | ...2024-05-04-22-12-27.../ |
| PnPCounterToMicrowave | kitchen_pnp | ...2024-05-04-22-13-21.../ |
| PnPCounterToSink | kitchen_pnp | ...2024-05-04-22-14-06.../ |
| PnPCounterToStove | kitchen_pnp | ...2024-05-04-22-14-20/ |
| PnPMicrowaveToCounter | kitchen_pnp | ...2024-05-04-22-14-26.../ |
| PnPSinkToCounter | kitchen_pnp | ...2024-05-04-22-14-34.../ |
| PnPStoveToCounter | kitchen_pnp | ...2024-05-04-22-14-40/ |
| TurnOffSinkFaucet | kitchen_sink | ...2024-05-04-22-17-26/ |
| TurnOnSinkFaucet | kitchen_sink | ...2024-05-04-22-17-46/ |
| TurnSinkSpout | kitchen_sink | ...2024-05-09-09-31-12/ |
| TurnOffStove | kitchen_stove | ...2024-05-08-09-20-45/ |
| TurnOnStove | kitchen_stove | ...2024-05-08-09-20-31/ |
prepare_idm_mg30_dataset.py에서 이 방법으로 공식 MG-30 episode를 추출해 IDM 학습에 사용했다.
향후 MG-100, MG-300, MG-3000으로 확장할 때도 동일한 get_official_mg_episodes(task, mg_size=N) 함수를 재사용할 수 있다.
데이터 경로가 복수의 연구자(hyojinjang, minhopark) NAS에 분산되어 있어 경로 확인이 필요한 시점마다 이 문서가 기준점이 된다.
동일 함수로 mg_size=3000을 사용해 ~72,000 ep 전체를 추출. Coffee 계열 동일 seed 이슈가 MG-3000에도 영향 있는지 확인 필요.
현재 prepare_idm_mg30_dataset.py는 MG-30 고정. mg_size 파라미터를 받아 임의의 split을 추출할 수 있도록 일반화.