Skip to main content
A fleet learning release is built for your training stack. This page covers the LeRobot importer, the LeRobot exporter and the files that ship with every release.

What ships with each release

Every release in a fleet learning program includes: Avala prepares the LeRobot export as part of the program. You run the training.

Import a LeRobot dataset

The LeRobot importer reads a LeRobot dataset from the Hugging Face Hub or a local directory. It creates an Avala MCAP dataset.
  • Each LeRobot episode becomes one .mcap file, which Avala ingests as one item. A LeRobot episode maps to an Avala sequence.
  • Camera streams are written as foxglove.CompressedImage, so they render in the Mission Control viewer.
  • Proprioception (observation.state, action and other 1-D numeric features) is written as google.protobuf.Struct messages. The values are preserved and readable as raw messages.
  • Every other per-frame column (rewards, episode_uuid, failure_type and other text columns) is kept on its own topic. A control_source column (policy, teleop, intervention, hold) lands on /lerobot/control_source.
The importer targets the LeRobot v2.1 and v3 dataset API. It needs the lerobot extra, which requires Python 3.12 or later. For LeRobot v3 datasets, a torch-free reader also works on Python 3.9 and later: pip install "avala[lerobot-core-video]".
Pass repo_id, root or both. In Python, state_keys selects the numeric features to keep. It defaults to observation.state and action.

Export an Avala dataset to LeRobot

You can also convert any Avala sequence dataset to LeRobot v3 yourself. One Avala sequence becomes one LeRobot episode.
--include-outcomes writes each sequence’s current outcome label to meta/avala_sequence_outcomes.jsonl, one line per LeRobot episode. In Python, pass include_outcomes=True. The file format is described in Export outcome labels with LeRobot. Add --state-key and --action-key when the source frames carry proprioception. The full option list and the Python API are in Avala + LeRobot.

Use outcome labels in training

The outcome labels travel with the LeRobot export. Typical uses:
  • Weight or select sequences by outcome, progress, quality and speed.
  • Train on subtask label strings and hand-action action strings for language-conditioned policies.
  • Split by leakage group when you build your own validation sets.
  • Keep sequences with evaluation_membership set to held_out_eval out of training when you merge data from other sources. Releases never include them.
Technical validity is not in the export. Avala reviews and accepts sequences before they enter a release. See Technical validity.