Downloads · 30 days
0
noahnowac/farm_uf850_patch_policy
farm_uf850_patch_policy is a machine learning model from noahnowac. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Reimplementation of Patch Policy (arXiv 2607.18236) as a single-task specialist for the FARM UF850 arm: frozen DINOv2-S/14 dense patch tokens (all 256/camera, base + wrist, no pooling) - 8-layer / d=512 transformer (2…
Downloads · 30 days
0
Access
Public
Updated Jul 24, 2026
Repo size
196 MB
Likes
0
Public
Click a slice to open those files.
.pt196 MB · 100%
From the Hugging Face model README
Reimplementation of Patch Policy (arXiv 2607.18236) as a single-task specialist for the FARM UF850 arm: frozen DINOv2-S/14 dense patch tokens (all 256/camera, base + wrist, no pooling) -> 8-layer / d=512 transformer (26.8M trainable) -> L1-regressed 50-step action chunk. No language conditioning (single task). Trained on 84 episodes, 10 held out.
Training cost: ~0.5 GPU-hours (30k steps, batch 64, one H200, ~24 it/s — episode subset fully RAM-preloaded).
| variant | held-out chunk-MAE (rad) | first-action MAE (rad) |
|---|---|---|
| L1 head (this ckpt) | 0.095 | 0.033 (~1.9°/joint) |
| diffusion head (MLP denoiser) | 0.319 | 0.220 |
Open-loop prediction accuracy is a screen, not a verdict — closed-loop rollouts on the arm are the only real test, and this model has not had them.
from infer_patch_policy import PatchPolicyRunner
r = PatchPolicyRunner("patch_policy_task2_l1.pt") # downloads DINOv2-S via torch.hub
chunk = r.predict(base_rgb, wrist_rgb, state7) # (50, 7)
patch_policy_task2_l1.pt — EMA weights (incl. frozen ViT), config, normalization stats.train_patch_policy.py — full self-contained training script (data loader for lerobot-v2
FARM episodes, both heads, eval). Repro: see docstring; ~31 min on one H200.infer_patch_policy.py — the runner above.Single-task specialist (no language, no multi-task); T=1 observation (no temporal context); diffusion variant underperforms here (simplified MLP denoiser, not the paper's DP head); offline-validated only.