Tactile-JEPA: Tactile Socks — action
One shared JEPA pretrain (seed 17) and the selected downstream checkpoint(s) from the main Tactile-JEPA protocol. No baselines or masking ablations are included.
453 pressure sensors (237 left, 216 right); five-frame encoder chunks, nine chunks per 45-frame action window.
Selected checkpoints
| Task | Metric | Selected checkpoint value | Head seed |
|---|---|---|---|
| action | Action top-1 accuracy | 98.462302% | 17 |
These are individual checkpoints selected using the saved test metrics, not the multi-seed means reported in the paper. Selection from test results makes these scores descriptive of the chosen release; they are not a fresh, unbiased evaluation. The within-run checkpoint is the saved checkpoint referenced by the evaluation artifact (best validation checkpoint).
This release preserves the historical overlap-5 evaluation artifacts used by the supplied notebook. A project audit dated 2026-09-15 reported active downstream dropout during evaluation; the action protocol also has recording overlap and boundary-frame overlap between some splits. No corrected re-evaluation is claimed here. The numerical values above were recomputed from the original saved predictions, not from a new inference pass.
Files
pretrain/model.ckpt: original SSL checkpoint, including context encoder, EMA target encoder, predictor and saved training state.pretrain/encoder.safetensors: EMA target encoder weights;target_encoder.prefix removed.pretrain/training_config.yaml: saved pretraining configuration with server paths replaced by portable placeholders.downstream/<task>/model.ckpt: original evaluated downstream checkpoint.downstream/<task>/model.safetensors: complete downstream model state; original parameter names preserved.downstream/<task>/training_config.yaml: saved downstream configuration.downstream/<task>/metrics.json: metrics, seeds, checkpoint hashes, source run identifiers and encoder-pair verification.SHA256SUMS: checksums for the released files.
Download and load weights
from huggingface_hub import snapshot_download
from safetensors.torch import load_file
root = snapshot_download("Tactile-JEPA/tactile-jepa-socks-action")
encoder_state = load_file(f"{root}/pretrain/encoder.safetensors")
task_state = load_file(f"{root}/downstream/action/model.safetensors")
# Construct the matching architecture using the linked project and saved config:
# encoder.load_state_dict(encoder_state, strict=True)
# task_module.load_state_dict(task_state, strict=True)
# task_module.eval()
These are project-native PyTorch checkpoints, not Transformers AutoModel repositories. Use the linked code and matching architecture. Saved configs may contain Hydra runtime interpolation and data-dependent fields populated by the dataset loaders; they are training snapshots, not standalone inference applications. Set dataset paths and preserve the preprocessing, sensor ordering and normalization. Raw .ckpt files retain the original project checkpoint format.
Provenance
Selection source: notebooks/shared_experiment_queue_recent_20260910_timeline_and_results.executed.ipynb, supplied snapshot timestamp 2026-09-16T07:22:22+03:00. The source notebook was retrieved on 2026-09-23. Weights were paired using the downstream training configuration and verified by tensor comparison. The safetensors exports preserve tensor values; original checkpoint SHA-256 hashes are recorded. No training or dataset files are included.
License follows the source project: CC BY-NC 4.0. See LICENSE.md.