ParsaSharifi/patch-policy-libero-spatial-diffusion
0
Patch Policy diffusion on LIBERO Spatial
A Patch Policy diffusion head trained on LIBERO Spatial: frozen DINOv2 ViT-S/14 patch tokens from both cameras (512 tokens), conditioned on a per-task goal image, predicting 7-d end-effector actions. Checkpoint of epoch 122, the best of a 200-epoch run after a 500-episode re-evaluation.
Result
Per task, epoch 122, 500 episodes:
- Evaluation protocol of the patch-policy code, not the LIBERO standard: a fresh seeded reset per episode (seed 42 + k, objects jittered within the task's regions), 300-step limit. The LIBERO standard uses 50 fixed initial states per task and 220 steps, so this number is not directly comparable to published LIBERO Spatial results.
- All sweep and confirmation results are in
results/(summary.json,eval/model_<epoch>.json,eval/confirm/). The 10 goal images are inresults/goal_images/.
Training
Files
outputs/libero_spatial/diffusion/dino_patch-2026-09-21_212317/checkpoints/model_0122.pt # epoch, config, policy_state_dict
results/ # evaluation results, goal images, frame stripsThe checkpoint is a PyTorch pickle (torch.load(..., weights_only=False)): load it only if you trust this repo. DINOv2 is not included; the code loads it from torch.hub (facebookresearch/dinov2).
Evaluate
From a checkout of the code on branch feat/libero-spatial, with the dataset downloaded:
hf download ParsaSharifi/patch-policy-libero-spatial-diffusion --local-dir ~/pp_libero_spatial
MUJOCO_GL=egl uv run python evaluate.py \
~/pp_libero_spatial/outputs/libero_spatial/diffusion/dino_patch-2026-09-21_212317 --epochs 122 --no-wandb- The config stored in the checkpoint names the dataset directory it was trained with (
dataset.data_directory: /media/sda1/parsa/original_patch_policy/patch_policy_datasets/libero_dataset). The evaluation loads the goal images from there, so the dataset must be at that path (or a symlink to it). - The goal image of each task is the last frame of the first demo its folder lists. On the training machine that is
demo_36for every task; directory listing order depends on the filesystem, so check it on a new machine.
