Fix TypeError in LeRobotDataset initialization when using --control.resume=true flag #56
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.
What this does
Fixes TypeError in LeRobotDataset initialization when using
--control.resume=trueflag. (🐛 Bug)The current code incorrectly uses torch.stack() on single tensor objects in lines 560-561 of /lerobot/common/datasets/lerobot_dataset.py, causing:
TypeError: stack(): argument 'tensors' (position 1) must be tuple of Tensors, not Tensor
TypeError: stack(): argument 'tensors' (position 1) must be tuple of Tensors, not Column
Root cause: torch.stack() requires a sequence of tensors as input, but the code was passing individual tensors/columns.
Solution: Removed unnecessary torch.stack() calls since the data is already in the correct tensor format:
Before:
After:
How it was tested
Test environment: Trossen Stationary AI running lerobot via HuggingFace.
How to checkout & try? (for the reviewer)
1. Reproduce the original error (on code before this fix):
2. Verify the fix works (with this PR's changes):
# Same command as above - should now run without TypeError3. Check the specific fix: