feat: add P0 v3 validators for LeRobot dataset pre-ingestion checks#9
Closed
feat: add P0 v3 validators for LeRobot dataset pre-ingestion checks#9
Conversation
Add 6 P0 validators as lerobot_validator/v3_checks.py to catch the most
common data quality issues before partner upload:
- V1 validate_tasks_format: error if no tasks file, warn if only jsonl
- V2 validate_codebase_version: require codebase_version starts with v3.
- V5 validate_feature_shapes: reject shape=[], require 3-element image shapes
- V7 validate_timestamps: reject absolute Unix epoch in data parquets
- V11 validate_custom_metadata_csv: require episode_index/episode_id, reject
null/duplicate episode_ids
- V12 validate_start_timestamp: require plausible Unix epoch floats
Wire validate_v3_dataset() into the LerobotDatasetValidator orchestrator
so errors surface automatically, and add get_warnings() support. Update
existing test fixtures to include codebase_version and tasks.parquet so
integration tests pass with the new checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Closing duplicate -- changes pushed to PR #8 on branch chandra/lerobot-v3-metadata-checker instead. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
lerobot_validator/v3_checks.pymodule that catch the most common data quality issues before partner upload:validate_tasks_format-- error if neither tasks file exists, warn if only jsonl (old format)validate_codebase_version-- reject datasets withoutcodebase_versionstarting withv3.validate_feature_shapes-- rejectshape: [](0-D), require 3-element shape for image/video featuresvalidate_timestamps-- reject absolute Unix epoch timestamps in data parquets; warn on non-monotonic or large starting offsetsvalidate_custom_metadata_csv-- requireepisode_index/episode_idcolumns, reject null/duplicateepisode_idvaluesvalidate_start_timestamp-- requirestart_timestampvalues are plausible Unix epoch floats (year 2000-2100 range)validate_v3_dataset()into theLerobotDatasetValidatororchestrator so issues surface automaticallyget_warnings()method to the orchestrator and display warnings inprint_results()Issueandvalidate_v3_datasetfrom__init__.pyfor direct usagetests/test_v3_checks.pycovering all validators and edge casestest_integration.pyandtest_is_eval_data_consistency.pyto includecodebase_versionandtasks.parquetrequired by the new checksTest plan
test_v3_checks.pypasspytest tests/ -v🤖 Generated with Claude Code