LeRobotDataset v3 changed how large robot datasets are packed

The format moved away from one file per episode and added native streaming support.

Source artwork for `LeRobotDataset:v3.0`: Bringing large-scale datasets to `lerobot`
Source artwork · Hugging Face / credited contributors ↗
THE SHORT VERSION

Robotics data needs a storage layout that can grow without turning each episode into a filesystem burden.

The LeRobotDataset v3 announcement explained the scaling limits of storing each episode separately. Its replacement packs multiple episodes into a file and uses relational metadata to recover episode-level information. It also supports streaming access and provides migration tooling.

The benefit is structural rather than cosmetic. A dataset format affects file counts, random access, and the work required to feed training jobs. Small collections can hide problems that become significant at millions of episodes, so the layout matters well before a model is trained.

Read the format design and migration guidance before converting a collection. Keep an original copy, validate episode boundaries and metadata after conversion, and test the loading path used by your training code.

A robotics dataset is a synchronized record

A robotics episode is more than a video. It can include images, joint or gripper state, actions and timestamps that need to remain aligned. The usefulness of the dataset depends on those relationships surviving storage, loading and any format conversion.

As collections grow, packaging becomes an engineering concern. Many small files can create overhead, while large combined files can complicate access and recovery. The right format has to support both efficient loading and reliable interpretation of the recorded experience.

Validate meaning before throughput

Before comparing loading speed, confirm that an episode still represents the same sequence of observations and actions. Inspect the beginning, middle and end of several examples. Check counts, timing and any metadata used to distinguish tasks or devices.

A conversion can finish successfully while introducing an off-by-one alignment error. That kind of problem may not appear until training quality deteriorates, which makes early episode-level validation especially valuable.

Migrate a small copy first

Preserve the original data and convert a representative subset. Include short and long episodes, unusual task labels and any known imperfect recordings. Compare the converted data with the original using both automated checks and a visual playback.

Only expand the migration after the consuming training and evaluation code can read the new format correctly. A storage format is not ready merely because the writer produces valid files; its readers must agree about the schema and indexing conventions.

Measure the complete loading path

Record time spent locating files, reading bytes, decoding video and assembling batches. A format change may improve one stage while exposing another bottleneck. Test the same storage environment and worker configuration when making a comparison.

For distributed training, inspect how workers divide the collection. Efficient packaging should not accidentally cause every worker to read the same episodes or overload a shared storage path with redundant requests.

Preserve lineage

Attach the source dataset revision and conversion settings to the new collection. If an issue is found later, a maintainer should be able to identify which version produced the affected examples. Keep enough metadata to map a converted episode back to its origin.

Large robotics collections become valuable when many people can use them without reconstructing their storage history. A format upgrade helps when it makes access more efficient while preserving the synchronized meaning of the data. The essential standard is not just fewer files or faster reads, but confidence that a policy is learning from the experience the dataset claims to contain.

Source: `LeRobotDataset:v3.0`: Bringing large-scale datasets to `lerobot` · fracapuano, aractingi, lhoestq, CarolinePascal, pepijn223, jadechoghari, cadene, aliberts, AdilZtn, nepyope, imstevenpmwork. How we write

← Back to all articles