lerobot-eval command evaluates trained policies by running rollouts in environments and computing success metrics.
Command
src/lerobot/scripts/lerobot_eval.py
Overview
The evaluation script:- Loads pretrained policies from Hugging Face Hub or local paths
- Runs policy rollouts in simulation environments
- Computes success rates and rewards
- Records evaluation videos
- Saves metrics to JSON files
- Supports parallel evaluation across multiple tasks
Key Options
Policy Options
str
required
Path or Hub ID to pretrained policy (e.g.,
lerobot/diffusion_pusht or outputs/train/my_run/checkpoints/005000/pretrained_model).str
default:"cuda"
Device for inference:
cpu, cuda, cuda:0, etc.bool
default:"False"
Use automatic mixed precision for inference.
Environment Options
str
required
Environment type:
pusht, xarm, aloha, libero, etc.str
Specific task within environment suite (for LIBERO, SIMPLER, etc.).
int
default:"1"
Maximum number of tasks to evaluate in parallel (for multi-task environments).
Evaluation Options
int
default:"50"
Number of episodes to evaluate.
int
default:"10"
Number of parallel environments to run.
bool
default:"False"
Use asynchronous vectorized environments for faster evaluation.
Output Options
str
default:"outputs/eval"
Directory for saving evaluation results and videos.
int
default:"1000"
Random seed for environment initialization.
Usage Examples
Basic Evaluation
Evaluate Local Checkpoint
Evaluate with Video Recording
Videos are automatically saved to{output_dir}/videos/:
Multi-task Evaluation (LIBERO)
CPU Evaluation
Custom Output Directory and Seed
Output Structure
Evaluation results are saved in the following structure:eval_info.json Format
Metrics
The evaluation script reports:float
Average cumulative reward across all episodes.
float
Average maximum reward achieved in any single step.
float
Success rate percentage (0-100).
float
Total evaluation time in seconds.
float
Average time per episode in seconds.
Programmatic Usage
Advanced Usage
Evaluate Specific Environment Seeds
Custom Evaluation Loop
Parallel Multi-Task Evaluation
Supported Environments
- pusht: 2D pushing task
- xarm: X-Arm manipulation
- aloha: Bimanual manipulation tasks
- libero: LIBERO benchmark suite
- simpler: SIMPLER benchmark
- Custom environments via Gymnasium interface
Tips
- Batch Size: Use larger
batch_sizefor faster evaluation with more parallel environments - Async Envs: Enable
use_async_envsfor better parallelization - Video Memory: Recording videos uses disk space; adjust number of rendered episodes as needed
- Seeds: Use consistent seeds for reproducible comparisons
- Multi-GPU: Evaluation uses single GPU; for multi-task, use
max_parallel_tasksfor parallelism
See Also
- lerobot-train - Train policies
- Policy API - Policy loading and inference
- Simulation Environments - Supported environments