Hugging FaceSundar Raghavan, Steven Palma, Cagatay Cali, Arron Bailiss, Yin SongTutorial
Record, train, and deploy from one place with Strands Agents, LeRobot, and Hugging Face Storage Buckets
Summary
This walkthrough presents a streaming data loop for Strands Robots that records robot demonstrations, stores them in Hugging Face Storage Buckets, trains from the growing dataset, and deploys a resulting policy back to hardware. It uses the LeRobot on-disk format throughout: Robot("so100") records through DatasetRecorder, sync_dataset_to_bucket writes changed bytes to a mutable bucket, and stream_dataset reads the dataset from the Hub without a full local download while decoding camera video on the fly. The agent can decide which episodes to keep and when to retrain, while the same Robot object records and streams data; deployment changes the robot mode keyword from simulation to real. The default simulation path runs with a mock policy that produces a valid dataset but not a useful one, while hardware, bucket, and training paths require additional dependencies.
Context
Daily collection and training can repeatedly transfer the same bytes: recordings grow, each training run copies the whole dataset to GPUs, checkpoints are uploaded, and the next recordings are downloaded. The workflow needs a working layer for data between recording and training, plus agent-driven decisions about episodes, scene drift, retraining, and checkpoint replacement.
Approach / What changed
Use Hugging Face Storage Buckets with Strands Robots and LeRobot. Record demonstrations in LeRobot format, synchronize them so only changed bytes are uploaded, stream the dataset from the Hub without a full download, train from that stream, and deploy the checkpoint back to the robot by changing the mode argument.
Takeaways
Storage Buckets provide mutable, non-versioned, Xet-backed storage for the working data layer, while versioned dataset repositories retain revisions and commits.
stream_dataset reads LeRobot data over the Hub without a full local copy and decodes camera video on the fly; the dataset remains in LeRobot format throughout.
The default simulation path uses a mock policy that can produce a valid dataset but not a useful policy; training requires the separate lerobot[training] installation.
Source and freshness
- Source
- huggingface.co
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.