Commit Graph

7 Commits

Author SHA1 Message Date
CarolinePascal a6dcb18585 migration: reconcile stale meta episode count to data+video files
When the data files and video files agree on episode count N but the metadata
lists a different count, rewrite meta/episodes.jsonl, meta/episodes_stats.jsonl
and info.json to N before the v2.1->v3.0 converter runs (which otherwise raises
'Number of episodes is not the same'). Only the safe direction is handled:
trimming metadata that lists MORE episodes than exist. Non-contiguous data,
data/video disagreement, or metadata missing episodes are left untouched.
2026-07-17 16:59:10 +02:00
CarolinePascal 52659bb331 migration: detect mislabeled SO arms and relabel to 'unknown'
A robot_type of so100/so101 is treated as wrong when the joint dim isn't a
multiple of 6, or (when names are present) the first 6 joints don't match the
canonical SO set. Such datasets are migrated structurally to v3.0 with joints
left untouched and robot_type relabeled 'unknown', instead of being skipped or
degrees-converted on a false assumption.
2026-07-17 16:41:27 +02:00
CarolinePascal d53557dec4 migration: skip non-standard SO arms instead of relabeling them
Only migrate datasets usable right away as a clean 6-DOF joint stack. SO datasets
whose action/observation.state dim isn't a multiple of 6 (extra bbox/EE columns
appended) are now skipped as out-of-scope, matching the end-effector skip, rather
than being relabeled '_nonstandard' and migrated structurally.
2026-07-17 16:31:22 +02:00
CarolinePascal e1da15d243 migration: ditch end-effector (task-space) datasets
Some datasets store task-space end-effector pose (names like ee_x/ee_roll or
x/y/z) instead of joint angles; the degrees mapping is meaningless there. Detect
via feature names and skip them entirely (no conversion, no upload) rather than
migrating a mislabeled arm.
2026-07-17 15:45:48 +02:00
CarolinePascal 3ea347a3d9 migration: add extract_dataset.py to pull a sub-dataset into a standalone repo
download_subfolder gains a repo= arg so it can source from any monorepo; the new
extract_dataset.py scoped-downloads one sub-dataset and re-uploads it at the root
of a new standalone dataset repo.
2026-07-17 15:45:29 +02:00
CarolinePascal f82713cdb2 migration: scope subfolder download, keep normalized joints as-is
- download_subfolder: fetch only the target sub-dataset subtree instead of
  enumerating the whole community_dataset_v3 monorepo tree (fixes apparent hang)
- normalized SO gripper (RANGE_0_100) left in native 0..100 frame, matching
  degrees_new datasets, instead of remapping to +/-45deg
- uncalibrated normalized datasets: skip identity value rewrite, keep normalized
  units and flag them APPROXIMATE on the dataset card
- remove --allow-uncalibrated flag and its CANON_IS_CALIBRATED side effect
2026-07-16 17:30:10 +02:00
CarolinePascal 323febcede Add community_dataset_v3 -> v3.0 SO-arm migration scripts 2026-07-16 14:44:05 +02:00