"Select, configure, train, evaluate, and safely plan inference for
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill policy-training-inference --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Policy Training Inference?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-policy-training-inference)More formats (shields.io, HTML) on the badges page.
---
name: policy-training-inference
description: "Select, configure, train, evaluate, and safely plan inference for
LeRobot policies, processors, devices, checkpoints, and optional PEFT
adapters."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Policy training and inference
Use this sub-skill when the task names `lerobot-train`, `lerobot-eval`,
`lerobot-rollout`, a policy type or checkpoint, policy processors, CUDA/device
selection, PEFT, or rollout inference. This sub-skill covers model-side
configuration and safe command planning. Route dataset format, episode schema,
features, and statistics acquisition to `dataset-workflows`; route physical
robot/teleoperator operation and data collection to
`robot-control-data-collection`; route simulator installation, environment
configuration, and RL to `simulation-and-rl`.
## Safety and operating boundary
- Treat training, Hub access, checkpoint downloads/uploads, W&B logging, and
rollout as side effects. First inspect and validate; only execute after the
user explicitly requests execution and all gates below pass.
- This skill can plan a rollout but does not authorize robot motion. Require a
dry-run/help check, a bounded duration, a tested robot/camera/teleoperator
handoff, an emergency stop, and a human at the controls before any hardware
command.
- Never call a CPU import or CPU model construction proof a CUDA execution
proof. A requested `cuda` device must be checked with `torch.cuda.is_available()`
and the intended policy/dependencies must be importable.
- Prefer local checkpoints with `local_files_only` for offline validation. Hub
identifiers may trigger downloads when the real command runs; ask before that.
- Do not invent a policy type. Confirm it is registered, its modeling module can
be imported, and its scoped extra is installed.
## Inputs and outputs
Collect: LeRobot version, policy type or checkpoint, dataset/environment handoff,
feature keys/shapes, normalization statistics source, device/backend and VRAM,
training or evaluation budget, output directory, resume source, optional PEFT
settings, credentials/Hub consent, and whether real hardware is involved.
Produce one of:
1. a validated, bounded training command plan and expected checkpoint layout;
2. an evaluation plan with checkpoint, environment, episode, recording, and
device gates; or
3. a rollout plan that remains explicitly blocked until hardware safety gates
pass.
Record unknown feature/stat/processor provenance as an unresolved validation item,
not as a successful compatibility claim.
## Fast routing workflow
1. **Choose policy.** Start with `act` for a small/single-task baseline. Consider
`diffusion` for action-distribution experiments; `smolvla`, `pi0`, `pi05`,
`pi0_fast`, or other VLA policies only when the language/vision checkpoint,
tokenizer, memory, and GPU budget are known. See
[model-overview.md](references/model-overview.md).
2. **Check the scoped extra.** The base package supplies core policy machinery;
optional policies use extras such as `diffusion`, `pi`, `smolvla`, `groot`,
`wallx`, `xvla`, `peft`, or `training`. Missing dependencies must be fixed by
the smallest relevant extra, not `all` by default.
3. **Resolve the config.** For a fresh policy, construct a registered config
with `make_policy_config(type, ...)` and obtain input/output features from
dataset metadata or an environment. For a checkpoint, load its
`config.json` through `PreTrainedConfig.from_pretrained`; preserve its type
and processor contract unless a deliberate override is validated.
4. **Build the model and processors.** `make_policy` requires exactly one of
dataset metadata or environment config. It infers action outputs and missing
input features, validates visual consistency, places the model on
`config.device`, and loads safetensors for a normal checkpoint. Build the
matching pre/post pipelines with `make_pre_post_processors`; for a checkpoint
load the saved `policy_preprocessor.json` and `policy_postprocessor.json`.
5. **Validate one synthetic batch.** Confirm observation names, image channel/order
and shape, state/action dimensions, task/text fields, batch dimensions, finite
normalized values, model output shape, and postprocessed action shape before
launching a long run. Use `step_through` or `transform_features` to locate a
processor mismatch.
6. **Bound the run.** Use a short smoke run first (`steps` small, no Hub push,
W&B disabled, fixed output directory). Then choose checkpoint frequency,
evaluation split/episodes, workers, accumulation, mixed precision, and output
policy. Do not reuse a non-empty output directory unless `resume=true`.
7. **Handoff.** Dataset and simulator owners must confirm their contracts. A
real-robot owner must confirm robot, camera, teleop, calibration, and stop
controls before `lerobot-rollout` is considered runnable.
## CLI decision points
- `lerobot-train` uses dotted draccus fields: `--dataset.repo_id`,
`--policy.type`, `--policy.device`, `--batch_size`, `--steps`,
`--output_dir`, `--save_freq`, `--eval_steps`, `--parallelism.*`,
`--accelerator.*`, `--peft.*`, and `--resume`/`--config_path`.
- For a pretrained policy, use `--policy.path=<local-dir-or-hub-id>` in the
current CLI contract. For a resume, use `--resume=true --config_path=<checkpoint
train_config.json, pretrained_model directory, or permitted Hub run source>`.
Do not confuse fine-tuning from `--policy.path` with restoring optimizer/RNG/
sampler state via `--resume`.
- `lerobot-eval` needs `--policy.path`, `--env.type`, and bounded
`--eval.n_episodes`; `--eval.batch_size=1` is the conservative first check.
Recording is off unless explicitly enabled. Hub environments additionally
require `--trust_remote_code=true` consent.
- `lerobot-rollout` is the deployment engine. `strategy.type=base` does not
record and must not receive a dataset; sentry/highlight/dagger/episodic need
the appropriate recording dataset, and dagger needs a teleoperator. `sync`
works for all policies; `rtc` is for supported slow chunking policies and
requires policy-specific queue/horizon validation.
- Run the bundled probes/builders before copying a command into a shell:
[check_policy_environment.py](scripts/check_policy_environment.py),
[train_command_builder.py](scripts/train_command_builder.py),
[eval_command_builder.py](scripts/eval_command_builder.py), and
[rollout_help.py](scripts/rollout_help.py). They print commands and checks but
never start training, inference, downloads, simulators, or hardware.
## Training and checkpoint rules
`TrainPipelineConfig.validate()` requires a policy or reward model, disallows
an existing output directory for a fresh run, applies the policy optimizer and
scheduler presets by default, and requires a nonzero dataset `eval_split` when
`eval_steps > 0`. A normal checkpoint contains a policy config and
`model.safetensors`; processor JSON/state files must accompany it for faithful
inference. Training checkpoints also contain `train_config.json` and training
state. Safetensors is the compatible default; DCP model artifacts require a
sharded run. Sharded training currently rejects PEFT, fp16, in-training env
rollouts, reward-model training, multiple optimizers, compile/activation
checkpointing placeholders, and context parallelism greater than one.
`PreTrainedPolicy.from_pretrained` puts the policy in eval mode; call
`train()` only for training. The base contract requires `get_optim_params`,
`reset`, `forward`, `predict_action_chunk`, and `select_action`. `forward`
returns `(loss, logging_dict_or_none)`; inference calls `reset()` at episode
start and `select_action()` after preprocessing. Keep logging values native and
avoid passing gradient-bearing tensors into logs.
## Final validation checklist
- `python -m ... --help`/CLI help succeeds in the target environment.
- `check_policy_environment.py` reports the registered choice, optional package
status, policy class import, requested device, CUDA availability, and any
import failure without claiming execution readiness when a gate is missing.
- The exact checkpoint has `config.json`, weights, and matching pre/postprocessor
files; revision and local-only policy are explicit.
- Dataset/environment feature names are mapped deliberately; `rename_map` is
used only when the checkpoint contract requires it, and normalization stats
are from the intended dataset or an explicitly approved override.
- One bounded batch passes through preprocessor → policy → postprocessor with
finite tensors and the expected action dimension.
- Training has a new/approved output directory, bounded steps, checkpoint policy,
no unintended Hub/W&B side effects, and a resume source if applicable.
- Evaluation has bounded episodes and recording disabled unless requested.
- Rollout has hardware/safety approval, finite duration, correct device, tested
cameras, and emergency-stop readiness. Otherwise report `blocked`, not ready.
## Bundled reference map
- [model-overview.md](references/model-overview.md): registered policy catalog,
scoped extras, and conditional selection guidance.
- [configuration.md](references/configuration.md): config dataclasses, dotted
fields, feature/device construction, and distributed restrictions.
- [api-reference.md](references/api-reference.md): verified factory, policy,
processor, serialization, normalization, and device signatures.
- [workflows.md](references/workflows.md): bounded training, resume, eval, PEFT,
and rollout planning recipes.
- [cli-reference.md](references/cli-reference.md): safe train/eval/rollout CLI
fields and side-effect gates.
- [troubleshooting.md](references/troubleshooting.md): dependency, checkpoint,
device, training, evaluation, and rollout recovery.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!