Checkpoint format for fine-tunes
Upload a complete checkpoint to a Hugging Face repository. Servo supports these PI0.5 layouts:
Keep the normalization statistics from the same training run as the weights. The JAX
openpi_config.json schema is available here. For a PyTorch
checkpoint, select the training configuration explicitly when importing it; supported names are
pi05_aloha, pi05_droid, pi05_libero, pi05_yam_red_cap_full, and
yam_molmoact2_pi05_jax.
Inspect the input contract
Inspection reads checkpoint metadata and small config files, not model weights. The public YAM checkpoint declares image arrays namedmiddle, left, and right, plus the 7-value state
array. A fine-tune can use different names or dimensions, so use its inspection result as the
source of truth:
inspect_checkpoint.py
Deploy
Deploy the pinned public checkpoint to a robot registered with your organization:your computer
Import and deploy a fine-tune
Import a fine-tune at the same pinned revision you inspected, then deploy the returned model ID:your computer
--openpi-config-name to servo model import so the importer knows which config describes the
fine-tune. For example, use --openpi-config-name pi05_yam_red_cap_full when that is the training
configuration. The checkpoint’s observation.images.* and state keys, array shapes, and dtypes
are the keys to pass in Session.predict(inputs=...); the camera-to-key mapping is specific to how
the robot’s cameras were named in training.
Send observations and receive actions
On the robot computer, use the deployment’s policy contract to buildinputs with the exact keys,
shapes, and dtypes. The quickstart shows the shared
Session.predict flow; its sample prints the resolved contract before creating the arrays.