Skip to content

Implement LeRobot v2.1 format - #286

Open
Shivang K Raghuvanshi (shivkr6) wants to merge 8 commits into
macrodata-labs:mainfrom
shivkr6:main
Open

Shivang K Raghuvanshi (shivkr6) wants to merge 8 commits into
macrodata-labs:mainfrom
shivkr6:main

Conversation

@shivkr6

@shivkr6 Shivang K Raghuvanshi (shivkr6) commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

fixes: #231

In-progress: need to update documentation

@shivkr6
Shivang K Raghuvanshi (shivkr6) marked this pull request as ready for review October 14, 2026 17:26
Introduce the episode reader scaffold and expose read_lerobot_v2_1 through the public pipeline API. Include storage-driver extras for cloud execution.

Signed-off-by: Shivang K Raghuvanshi <shivangraghuvanshi2005@gmail.com>
Select per-episode path defaults and the feature info key for v2.1 metadata while preserving v3 defaults and explicit path templates. Pass codebase_version through feature parsing and serialization.
Shard meta/episodes.jsonl through JsonReader and load info, tasks, and aggregated episode stats. Cache merged per-root metadata and update the stub test to cover shard listing before episode reading is implemented.
Resolve per-episode Parquet paths, attach episode stats and video references, and yield aligned LeRobotTabular blocks. Validate frame counts and episode stats, support malformed-row skipping, and remap task indices across dataset roots. Update the reader test for the implemented episode-loading path.
Keep source video inputs for writing, but remove their URI columns from output episode metadata so references resolve through the newly written chunk and file indices.
Cover the v2.1 read path with 11 tests mirroring the v3 test suite:
- episode row emission with metadata, stats, frames, and video URIs
- frame count mismatch detection and graceful skip with metrics
- shard planning knob passthrough and shard count limit
- vectorized filter, select, and map_table side-data alignment
- describe() and HF dataset URL handling
- task index remapping across multiple dataset roots
@shivkr6

Copy link
Copy Markdown
Contributor Author

CI failure does not seem related to this PR.
All other tests pass for me locally.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lerobot v2.1 format support

1 participant