Hugging Face and AWS Link Strands Robots to Streaming LeRobot Training
Hugging Face and AWS contributors have presented a robotics workflow connecting Strands Robots, LeRobot and Hugging Face Storage Buckets. It covers recording demonstrations, synchronizing the dataset, streaming frames into training and loading the resulting policy back onto a robot. The dataset retains LeRobot’s on-disk format throughout, avoiding a separate conversion stage.
Strands Robots is an open-source AWS SDK released under Apache 2.0. It exposes robot abstractions, simulation and LeRobot components as tools for a Strands agent. In the walkthrough, the same Robot() object records an SO-100 demonstration in simulation, sends it to a Storage Bucket and reads it back. Physical SO-101 operation uses real mode, and demonstrations recorded on hardware can be synchronized to the same bucket.
Storage Buckets serve as a mutable, non-versioned working layer, while selected dataset versions can still be published through conventional repositories. Hugging Face says the underlying Xet system uses content-defined chunking to transfer changed chunks rather than complete objects. In its measurements, re-uploading a 500 MB file after changing 1%, 5% and 10% of its bytes transferred 5.5 MB, 27.5 MB and 55 MB, respectively.
For training, StreamingLeRobotDataset performs byte-range reads from remote shards. Camera images are decoded from MP4 files during iteration, while robot states and actions come from Parquet shards. No complete local dataset copy is created, although a small metadata folder containing the schema, statistics and episode index is stored locally. Buckets support streaming only, so the LeRobot trainer requires repo_type=bucket to be paired with streaming=true.
The authors also demonstrated local ACT policy training through the shared Trainer and TrainSpec interfaces. Their configuration completed 500 optimizer steps for a 51.6-million-parameter model, with an effective batch size of eight and a 120-frame episode, in 133 seconds on one NVIDIA L4. Hugging Face describes this as a single measured configuration rather than a general benchmark, noting that training time varies with dataset size, batch size and step count.
Practical context: In practice, the design separates a frequently updated working dataset from versions chosen for publication and removes the requirement to copy the complete dataset to GPU nodes before training. It is most relevant when recordings grow regularly and contain repeated data. However, the default demonstration uses a mock policy that produces a structurally valid but not useful training dataset; meaningful behavior requires a real trained policy. The reported transfer and training figures should not be assumed for other infrastructure without separate measurement.
| Data changed | Transferred on re-upload |
|---|---|
| 1% | 5.5 MB |
| 5% | 27.5 MB |
| 10% | 55 MB |
Minimum environment for the demonstration loop
The authors specify Python 3.12 or later on Linux or macOS, a Strands-compatible model provider, and strands-robots 0.5.1 or later with the sim-mujoco and lerobot extras. The basic workflow can run on a laptop, but its default mock policy creates valid structure rather than useful behavior.
Additional requirements for buckets, training and hardware
Storage Buckets require a Hugging Face account, a write-enabled token, the hf CLI and huggingface-hub from version 1.6.0 up to, but not including, 2.0.0. Hardware operation requires a LeRobot-supported robot and calibration files; local VLA inference requires an NVIDIA GPU, while the built-in training step requires the lerobot training extra.
Sources
Event date: 2026-08-13. Primary source date: 2026-08-13.