Skip to main content
The lerobot-eval command evaluates trained policies by running rollouts in environments and computing success metrics.

Command

Location: 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

  1. Batch Size: Use larger batch_size for faster evaluation with more parallel environments
  2. Async Envs: Enable use_async_envs for better parallelization
  3. Video Memory: Recording videos uses disk space; adjust number of rendered episodes as needed
  4. Seeds: Use consistent seeds for reproducible comparisons
  5. Multi-GPU: Evaluation uses single GPU; for multi-task, use max_parallel_tasks for parallelism

See Also