CoolFace
Modelpublic

rookierufus/kinematic-oracles-ego10k

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes
Model Card

Kinematic Oracles — Ego10k

Model: Pθ (forward/causal) + Qθ (backward/anti-causal) kinematic predictors on V-JEPA ViT-Base latents. Architecture: Depthwise-Separable Conv3D + RetractionMap (~613K params each, 1.2M total). Loss: Adaptive volatility-gated Huber (δema), AdamW, cosine annealing, FP32 mandate. **Dataset**: Egocentric-10K (ego-centric video), 151 videos → 5,026 tubelets (τkinetic=0.001, ε=0.678).


Run History

Run 001 — δ_val=1.0 (hardcoded baseline)

FieldValue
Date2026-06-23
Seed42
δ_val1.000000 (hardcoded — compute_delta_val_streaming() was too slow, bypassed)
δ_ema (final)1.149586
Epochs50
Best val loss250.61
Identity baseline475.50 (predict no change)
Improvement47.3% over identity
Gate U (final)Pθ=0.87, Qθ=0.88
Saturation warningEpoch 30: P_θ U→0.90 (retraction map near-disabled)
Bugself.seed not stored in trainer (AttributeError, patched)
Checkpointscheckpoints/oracle_epoch_*.pt (35 of 50 pushed)
Deployoracle_weights.pt

Why another run? δ_val=1.0 was a guess — the data-driven compute_delta_val_streaming() was hanging due to an element-by-element Python loop (6.7B .item() calls). Fixing this should give a proper data-driven initial Huber threshold, potentially improving convergence.


Run 002 — δ_val data-driven (vectorized Welford)

FieldValue
Date2026-06-23
Seed42
δ_valcomputed from validation set via vectorized Welford streaming
FixReplaced O(N_element) Python loop with per-tubelet z.mean()/.var() + batch-Welford merge (hours→seconds)
Epochs50
Status🏃 Training in progress...

Reproducibility

bash
# Data: builddotai/Egocentric-10K on HuggingFace
# V-JEPA: vjepa2_1_vitb_dist_vitG_384.pt (ViT-Base, 86.8M params)

cd "/root/the Compression problem"
python3 -m oracle.run \
  --data-dir /root/ego10k_data \
  --factories factory_001 factory_002 \
  --max-videos 500 \
  --epochs 50 \
  --cache-size 1000 \
  --batch-size 16 \
  --output-dir /root/oracle_output \
  --seed 42

Files

PathDescription
checkpoints/oracle_epoch_*.ptEpoch checkpoints (Pθ + Qθ + optimizer state)
oracle_weights.ptFrozen deploy weights (best val loss)
training_log.jsonPer-epoch metrics (loss, lr, δ_ema, gate U)
split.jsonTrain/val video split (seed=42)
latent_index.jsonVideo→latent mapping, calibration params
latents/*.ptPrecomputed V-JEPA tubelets (FP16, auto-upcast to FP32)