lerobot-train command trains robot learning policies using offline datasets.
Command
src/lerobot/scripts/lerobot_train.py
Overview
The training script:- Loads datasets from Hugging Face Hub or local storage
- Trains policies with distributed training support (multi-GPU)
- Logs metrics to Weights & Biases
- Saves checkpoints periodically
- Evaluates policies during training (optional)
- Supports resuming from checkpoints
Key Options
Dataset Options
Dataset repository ID (e.g.,
lerobot/pusht).Local path to dataset. Defaults to
$HF_LEROBOT_HOME/{repo_id}.Specific episodes to use for training.Example:
--dataset.episodes="[0,1,2,3,4]"Temporal offsets for observation/action queries.Example:
Policy Options
Policy type:
act, diffusion, tdmpc, vqbet, pi0, etc.Path or Hub ID to pretrained model for fine-tuning.
Device for training:
cpu, cuda, cuda:0, etc.Use automatic mixed precision training.
Training Options
Number of training steps.
Batch size per GPU.
Number of dataloader workers.
Random seed for reproducibility.
Use deterministic CUDNN operations (slower but reproducible).
Optimizer Options
Optimizer type:
adamw, adam, sgd.Learning rate.
Weight decay for regularization.
Gradient clipping norm. Set to 0 to disable.
Checkpoint Options
Directory for saving checkpoints and logs.
Whether to save checkpoints.
Save checkpoint every N steps.
Resume training from latest checkpoint.
Specific checkpoint path to resume from.
Logging Options
Log metrics every N steps.
Enable Weights & Biases logging.
W&B project name.
W&B entity (username or team).
W&B run name.
Evaluation Options
Evaluate every N steps. Set to 0 to disable.
Number of episodes for evaluation.
Number of parallel environments for evaluation.
Environment type for evaluation:
pusht, xarm, aloha, etc.Usage Examples
Basic Training
Training with Evaluation
Multi-GPU Training
Fine-tuning from Pretrained
Resume from Checkpoint
Training with Custom Dataset Episodes
Training with Delta Timestamps
Training with PEFT (LoRA)
Custom Policy Configuration
Output Structure
The training script creates the following structure:Configuration File
You can use a YAML configuration file instead of command-line arguments:Programmatic Usage
You can also call the training function programmatically:Advanced Features
Gradient Accumulation
For effective larger batch sizes:Mixed Precision Training
Learning Rate Scheduling
See Also
- lerobot-eval - Evaluate trained policies
- Policy API - Policy configuration
- LeRobotDataset - Dataset format
- Weights & Biases - Experiment tracking