Repository navigation
Conversation
Generation now writes a run block in the result JSON, an attempt log next to it, and per-step intended and achieved end-effector poses. Channels whose action commands no pose record no intended pose. The cuRobo planner keeps a summary of each planning call, and annotate_demos.py can write a summary file. validate_dataset.py --report computes the KPIs from these files.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
Label demos per hour with the GPU or CPU model. Drop recorded fields no KPI reads (seed, stop rule, setup time, step count, source digest, cuRobo solver timings, annotation mode and re-marks), simplify the cuRobo plan summary to outcome, status and wall time, and shorten the KPI docs.
Generation records obs/datagen_info with the recorder term annotation already uses, so tracking error compares achieved and commanded poses for generated and source data alike. Coverage takes its bounds from the attempted starts, failure share reports the cause only, planning time comes from a timer around the planner call, and annotation yield from episode counts. This drops the cuRobo, Datastream, adapter and annotation changes and the planner failure-type KPI.
This branch has not been deployed
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
Report dataset KPIs from generation records
Detailed description
generate_dataset.py --result_fileadds arunblock to the result JSON (seed, stop rule, device, env count, control step, setup and generation time, source digest, reset ranges) and writes<result_file stem>.attempts.jsonl, one line per attempt (outcome, failure cause, failed subtask, timing, initial object poses, motion-planner call summaries).intended_eef_poseandeef_poseper step underobs/datagen_info. Channels whose action commands no pose (tracking-only) record no intended pose, via a newEmbodimentAdapter.get_eef_names_with_pose_action()hook.last_plan_summary;annotate_demos.py --summary_filesaves annotation counts and rejection reasons.validate_dataset.py --reportcomputes 12 KPIs offline: success rate (Wilson interval, corrected for attempts cancelled at the stop), demos per hour, demos per human demo, annotation yield, tracking error, action saturation, motion smoothness, initial-state coverage, success by initial configuration, failure share, planner failure types, planning time. Definitions and formulas:docs/pages/references/kpis.rst.--result_file. Each episode gains two small per-step pose datasets per end effector.Testing
-m "not with_subprocess"): 355 passed, three runs.autodata_tests/e2e, 22 tests including the Arena workflows): all passed, two runs.