mirror of
https://github.com/huggingface/lerobot.git
synced 2026-07-23 17:56:07 +00:00
4787cfc7ee
Add fuse_action_time_embedding to common/vla_utils: the action-expert input block (project actions + sine-cosine timestep embed + concat + mlp_in/SiLU/ mlp_out) that pi0, pi05, eo1 and smolvla each copy. The nn.Linear layers are passed in rather than owned by the helper, so adoption does not rename any checkpoint keys. Reproduces the pi0/pi05 (time_emb_dtype=timestep.dtype) and smolvla (default action-emb dtype) conventions byte-for-byte, with an optional apply hook for gradient checkpointing. eo1's autocast + per-layer dtype casts are left for a follow-up adoption. No policy is migrated in this (additive-only) PR. Adds equivalence tests against verbatim pi0 and smolvla inline blocks. Co-authored-by: Cursor <cursoragent@cursor.com>