Repository navigation
feat(datasets): edit an episode's task in the dataset browser - #144
Open
ravediamond wants to merge 1 commit into
Open
ravediamond wants to merge 1 commit into
ravediamond wants to merge 1 commit into
Conversation
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.
Problem
The task string is what a language-conditioned policy (SmolVLA, PI0) is trained on, and it is typed once when recording starts. A typo, a vague instruction, or one take of a different task recorded under the wrong label currently means leaving LeLab for
lerobot-edit-dataset --operation.type modify_tasks.Approach
A small pencil on the selected row of the episode list (local datasets only) opens an "Edit task" dialog, prefilled with that episode's task. Save sets it for that episode, or for every episode with "Apply to all N episodes".
POST /datasets/episode-taskwraps LeRobot'smodify_tasks. That function rewritesmeta/anddata/in place, so it runs on a staged copy next to the dataset, swapped in once it succeeds: a failure leaves the source untouched. Onlymeta/anddata/are copied; videos and images are hard-linked into the copy (falling back to a copy on filesystems without hard links), so the edit does not duplicate footage.ensure_episode_indexruns before the dataset is opened.This overlaps #142 in two small places: the same
refreshadded touseEpisodesand the same_record_dataset/_episode_taskstest helpers. Whichever lands second, I'll rebase.Testing
modify_tasksran that leaves the source untouched, the 409 while recording, request validation.npm run build,pre-commit run --all-files.Tested on Linux (Jetson Orin, aarch64) only. Not tested on macOS, Windows, or a real SO-101 dataset.