Views
No views yet
jepa-guided-diffusion)(512, 1024) context space, so the predicted
embedding can condition Cosmos-Predict2.5 video generation without running the 7B
Reason1 text encoder at inference time.(512, 1024) context tensor (the Cosmos cross-attention conditioning set).| Part | Role | Source |
|---|---|---|
| X-Encoder (frozen) | VJEPA 2.1 ViT-L/384 (vjepa2_1_vit_large_384), video mode → visual tokens | torch.hub (facebookresearch/vjepa2) |
| Compressor (trained) | BLIP-2-style QFormer: 512 query tokens, 4 layers, cross-attn every layer | in model.pt |
| Backbone (trained) | last 4 layers of Llama-3.2-1B, made bidirectional | arch from hub, weights in model.pt |
| Head (trained) | output_projection → (512, 1024) | in model.pt |
| Y-Encoder (frozen, target only) | Cosmos-Reason1-7B full_concat + crossattn_proj | not needed at inference |
training_metrics/. Training ran
28 epochs; the published best_model/ is epoch 24, selected on minimum validation
set-match MSE.| Metric (epoch 24) | Value |
|---|---|
| Train set-match MSE | 5.8287 |
| Val set-match MSE | 6.7279 |
| Retrieval top-1 | 0.3606 |
| Retrieval MRR | 0.4954 |
| Set top-1 | 0.3613 |
| Set MRR | 0.5049 |
| Alignment diag | 0.1603 |
| Alignment off-diag | 0.1561 |
| LR at best epoch | 2.40e-05 |
training_metrics/epoch_metrics.csv # 28 rows — per-epoch loss, MSE, LR, grad-norm, retrieval/alignment
training_metrics/batch_metrics.csv # 4452 rows — per-step trace
training_metrics/events.out.tfevents.* # TensorBoard event filetensorboard --logdir training_metricsalign_diag (0.160) and align_offdiag (0.156) sit close together: the cached
Reason1 targets are strongly anisotropic, so a large shared mean dominates every vector.
Training subtracts a precomputed all-token mean before normalization to recover the
per-caption residual.config.yaml # full model/eval config the loader reads
best_model/model.pt # trained weights (predictor only)
best_model/model_config.yaml # model config sidecar
best_model/query_tokenizer/ # Llama query tokenizer
fixed/negative_<view>.pt # the two fixed negative embeddings (vehicle / overhead)
training_metrics/ # per-epoch + per-batch CSVs and the TensorBoard events--checkpoint — it is downloaded and cached automatically:1# whole test set: writes <scenario>/embedding.pt for the Cosmos handoff
2uv run jepa-guidance seq-infer --checkpoint AlterraLaniakea/jepa-guided-diffusion --test-root wts/test
3
4# single scenario -> print the (512,1024) embedding
5uv run jepa-guidance infer \
6 --checkpoint AlterraLaniakea/jepa-guided-diffusion \
7 --visual-path wts/test/<scenario>/input \
8 --output embedding \
9 --query "The current preset is from overhead view with 2 target subjects. Pedestrian: A man in his 30s stands on the road facing the oncoming vehicle. Vehicle: The vehicle goes straight at a constant speed."seq-infer builds this automatically from caption.json):The current preset is from <overhead|vehicle> view with <N> target subject(s). Pedestrian: <ped caption> Vehicle: <veh caption><overhead|vehicle> — overhead for CCTV, vehicle for dashcam (video*) clips.<N> — subject types present: 1 (pedestrian or vehicle) or 2 (both).hf auth login (or export HF_TOKEN) before first use — the
loader rebuilds the Llama backbone architecture from the hub and overlays the trained
weights. (Set hf_token: true in config.yaml, or provide the token via env.)facebookresearch/vjepa2 (torch.hub / GitHub source).embedding.pt into Cosmos-Predict2.5 via scripts/generate_cosmos.py
(see the repo README) to generate the WTS video for each scenario.