CoolFace
Modelpublic

robomotic/causality-two-rooms

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes10downloads
Model Card

robomotic/causality-two-rooms

LeWM checkpoints trained on the confounded Glitched Hue TwoRoom dataset for causal world-model experiments. The goal is to test whether the model learns the true teleport mechanism or the spurious background-hue correlation.

Model description

  • Architecture: LeWM / JEPA-style world model with an autoregressive predictor
  • Domain: swm/GlitchedHueTwoRoom-v1
  • Framework: PyTorch + Lightning
  • Repository: https://github.com/epokhcs/stable-worldmodel
  • Upload generated (UTC): 2026-04-10 08:16:57

Training data

  • Dataset path: /home/robomotic/.stable_worldmodel/glitched_hue_tworoom.h5
  • Dataset size: 9.09 GB
  • Episodes: 10,000
  • Frames: 609,539
  • Pixel tensor shape: (609539, 224, 224, 3)
  • Teleport events: 1,593

The dataset was collected with:

bash
python scripts/data/collect_glitched_hue.py     num_traj=10000     seed=3072     world.num_envs=10

Training procedure

The checkpoints in this repo come from the 5-epoch LeWM training run used in the causality experiment. The run completed successfully after resuming from the last full trainer checkpoint.

Command family:

bash
python scripts/train/lewm.py     data=glitched_hue_tworoom     trainer.max_epochs=5     num_workers=1     loader.num_workers=1     loader.persistent_workers=False

Key hyperparameters

ParameterValue
trainer.max_epochs5
trainer.acceleratorgpu
trainer.precisionbf16
loader.batch_size128
loader.num_workers1 for the resumed run
optimizer.lr5e-5
wm.history_size3
wm.num_preds1
wm.embed_dim192
loss.sigreg.weight0.09
data.dataset.frameskip5
config.yamlincluded in the repo root

Epoch metrics (logged to W&B / Lightning)

The table below summarizes the epoch-end losses extracted from the local training logs. The raw values are also included as metrics/epoch_metrics.json and metrics/epoch_metrics.csv.

EpochGlobal stepfit/lossfit/pred_lossfit/sigreg_lossvalidate/lossvalidate/pred_lossvalidate/sigreg_loss
130462.6769740.00509929.7500002.7669380.00967130.635967
260921.1438890.4368587.8437501.1734040.4446298.096438
391380.6737020.3104204.0312500.7466960.3139944.807232
4121840.5269150.1636344.0312500.6018800.1663024.839801
5152300.4960080.1561653.7656250.5202610.1276014.362802

Files in this repo

FilePurposeSize
checkpoints/lewm_epoch_1_object.ckptSerialized model object checkpoint69.00 MB
checkpoints/lewm_epoch_2_object.ckptSerialized model object checkpoint69.00 MB
checkpoints/lewm_epoch_3_object.ckptSerialized model object checkpoint69.00 MB
checkpoints/lewm_epoch_4_object.ckptSerialized model object checkpoint69.00 MB
checkpoints/lewm_epoch_5_object.ckptSerialized model object checkpoint69.00 MB
checkpoints/lewm_weights.ckptFull Lightning trainer checkpoint206.75 MB
config.yamlHydra config used for the run1.20 KB
metrics/epoch_metrics.jsonRaw epoch metrics extracted from local logssmall
metrics/epoch_metrics.csvTabular epoch metrics for spreadsheets / plottingsmall

How to use

Load a serialized model-object checkpoint:

python
import torch

model = torch.load('checkpoints/lewm_epoch_5_object.ckpt', map_location='cpu')
model.eval()

Load the full Lightning trainer checkpoint:

python
import torch

checkpoint = torch.load('checkpoints/lewm_weights.ckpt', map_location='cpu')
print(checkpoint.keys())

Intended uses

  • Reproducing the causal disentanglement experiment in research/runme.md
  • Running the Step 3 causal AAP analysis with research/glitched_hue_experiment.py
  • Comparing epoch-wise world-model checkpoints during training

Limitations

  • These checkpoints are research artifacts, not production control policies.
  • Performance is specific to the Glitched Hue TwoRoom environment and the confounded blue/green data collection procedure.
  • The object checkpoints are convenient for inspection, while the full trainer checkpoint is the correct file for resuming optimization.