Downloads · 30 days
4
10% of all-time downloads
mkpongm/pi0-sponge-marker-10k-nullstate-3k
pi0-sponge-marker-10k-nullstate-3k is a robotics model from mkpongm. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for openpi. The card lists the license as apache-2.0.
pi0 policy for the SO-101 sponge/marker task, with a classifier-free-guidance-style null-state capability so it can be run with or without proprioceptive state.
Downloads · 30 days
4
10% of all-time downloads
All-time downloads
41
Public
Parameters
3.5B
12 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors7 GB · 100%
From the Hugging Face model README
pi0 policy for the SO-101 sponge/marker task, with a classifier-free-guidance-style null-state capability so it can be run with or without proprioceptive state.
Format: PyTorch (model.safetensors), converted from the JAX/orbax training checkpoint.
mkpongm/pi0-sponge-marker-10k (stage-1 pi0, 10k steps)state_dropout_prob=0.2[0:6]
(state_dropout_dim=6); the padded dims [6:32] are exactly zero, matching how real
state is zero-padded from 6 → action_dim=32.Unlike a stock JAX→PyTorch conversion (which silently drops it), this checkpoint carries the
learned null-state embedding as a real parameter, null_state_token — shape (32,), with
dims [6:32] zero. Verified identical to the JAX source (max abs diff ~1.7e-6).
The state token is fed through state_proj. Both branches use the same converted weights:
| branch | state fed to the model |
|---|---|
| with proprioception | the real robot state, zero-padded 6 → 32 |
| without proprioception | model.null_state_token (32-dim), broadcast to batch |
# null (no-proprioception) branch:
state = model.null_state_token.unsqueeze(0).expand(batch_size, -1)
Z-score (mean/std) — this is a plain pi0 model (model_type == PI0), so openpi uses the
mean/std branch of Normalize, not quantile or min-max. Stats come from
assets/mkpongm/sponge_marker_merged/norm_stats.json (shipped here).
(x - mean) / (std + 1e-6)x * (std + 1e-6) + meanUn-normalize the action outputs with the inverse before sending to the robot.