Skip to content

ACT

ACT trains directly from a validated canonical LeRobot dataset. The maintained model representations are ee_local_relative and base_joint_relative.

Install

source ../IsaacLab/env_isaaclab/bin/activate
uv pip install -e source/ambench
uv pip install -e "source/ambench_learn[act]"
uv pip install --no-deps "lerobot==0.4.4"
python -c "from importlib.metadata import version; print(version('lerobot'))"

The final command must print 0.4.4.

Validate the source dataset

python scripts/data/validate_lerobotdataset.py \
  --dataset_root <session-root> \
  --repo_id am_bench/press_button_ee_absolute \
  --target_hz 20

Use an absolute-action source dataset. ACT constructs relative trajectories at the logical policy rate without rewriting the source.

Train

python -m ambench_learn.policies.act.train \
  --dataset.repo_id=am_bench/press_button_ee_absolute \
  --dataset.root=<session-root>/lerobot \
  --dataset.use_imagenet_stats=true \
  --policy.type=act \
  --policy.chunk_size=16 \
  --policy.n_action_steps=8 \
  --policy.device=cuda \
  --policy.push_to_hub=false \
  --output_dir=<checkpoint-root> \
  --job_name=press_button_act \
  --batch_size=8 \
  --steps=20000 \
  --num_workers=4 \
  --save_freq=5000 \
  --wandb.enable=false \
  --policy_target_hz=20 \
  --policy_action_representation=ee_local_relative

For BaseJoint data, use the corresponding dataset and set --policy_action_representation=base_joint_relative. A saved checkpoint contains pretrained_model plus the representation metadata required by evaluation.

Evaluate

python -m ambench_learn.policies.act.eval \
  --task PressButton-Am-EE-Abs-PID-Direct-v0 \
  --checkpoint <checkpoint-root>/checkpoints/020000/pretrained_model \
  --num-rollouts 10 \
  --num-envs 1 \
  --n-action-steps 8 \
  --policy-target-hz 20 \
  --episode-length-s 20 \
  --save-video \
  --headless \
  --device cuda:0

Use a BaseJoint environment only with a BaseJoint checkpoint. ACT rejects temporal ensembling for relative representations because predictions anchored to different measured states cannot be averaged safely.

Shared rollout, seed, disturbance, video, and output options are described in Configure Evaluation. Evaluation output follows the common artifact contract.