datasets
데이터셋 다운샘플
프레임을 솎아 시퀀스 길이/학습 시간을 줄입니다. 그리퍼 transition은 자동 보존됩니다.
최근 확인 버전: v5.0.0
다운샘플은 원본을 건드리지 않고 새 데이터셋을 만들어 에피소드 프레임을 솎아내는 작업입니다. 30Hz로 수집한 데이터를 10Hz 정책 학습에 쓰고 싶거나, 시퀀스가 너무 길어 학습 시간이 부담스러울 때 사용합니다.
어디서 여나
좌측 네비의 데이터셋 탭에서 다음 중 하나로 일괄 변경(Batch Edit) 패널을 열고 Downsample 섹션을 펼칩니다.
- 트리에서 데이터셋 폴더 라벨을 클릭
- 데이터셋 우클릭 → Batch Edit
사용법
Downsample 섹션의 Enable 토글을 켜고 두 값을 입력합니다.
- Keep — 한 블록에서 살릴 프레임 수. 기본값
1. - Out of every — 블록 크기. 기본값
2.
예) keep=1, every=2 → 2 프레임마다 1 프레임 유지(절반). keep=1, every=3 → 1/3.
출력 데이터셋 이름은 패널 상단 입력칸에서 정합니다. 기본값은 <원본이름>_transformed 이지만, 다운샘플만 적용한다면 _downsampled 등으로 직접 바꿔 두는 편이 추후 식별에 편합니다.
그리퍼 transition 자동 보존
다운샘플은 기본적으로 그리퍼(tool) transition을 보존합니다. 그리퍼 open/close 동작은 보통 2~3 프레임 안에 끝나는데, 단순히 매 N 프레임마다 샘플링하면 phase에 따라 transition 전체가 빠질 수 있고, 결과적으로:
- 학습 시 같은 입력에 open / close 라벨이 섞여 라벨이 노이즈처럼 보임
- 추론 시 그리퍼가 진동하거나 결정을 못 내림
이를 막기 위해 데이터셋의 info.json에 tool_qpos_indices가 있으면 그리퍼 값이 크게 변하는 프레임은 sampling 위치와 상관없이 살아남고, 좌우 1프레임(tool_pad=1)도 함께 보존됩니다. 사용자는 별도 옵션을 만질 필요 없이 keep/every 비율만 정하면 됩니다.
진행률과 완료
Apply 버튼을 누르면 Socket.io transform_progress (0~1) 이벤트로 진행률이 갱신되고, 완료 시 transform_complete 이벤트와 함께 데이터셋 목록에 새 데이터셋이 추가됩니다.
백엔드 API
상세 스키마는 일괄 변경 → 백엔드 API를 참고하세요.