Skip to content

Presentations - #24

Closed
Trick5t3r wants to merge 36 commits into
facebookresearch:mainfrom
Trick5t3r:presentations
Closed

Presentations#24
Trick5t3r wants to merge 36 commits into
facebookresearch:mainfrom
Trick5t3r:presentations

Conversation

@Trick5t3r

Copy link
Copy Markdown

No description provided.

Trick5t3r and others added 30 commits June 17, 2026 23:16
- move the 4 flat configs into a category/env layout:
  cfgs/train/two_rooms/train.yaml, cfgs/eval/two_rooms/eval.yaml,
  cfgs/planning/two_rooms/{planning_mppi,planning_cem}.yaml
- update all references: main.py default fname, launch_sbatch config, train.yaml
  plan_cfg_path/eval_cfg_path, README, tests (also fixed stale eb_jepa/planning_*.yaml mentions)
…(epure parity)

- cfgs/train/two_rooms/{train_fast.yaml, train_ex_reduction_of_walltime.yaml}
- cfgs/train/two_rooms/data/{README.md, online.yaml, stream_cpu.yaml, stream_gpu.yaml, offline.yaml}
- plan_cfg_path/eval_cfg_path adapted to the cfgs-reorg layout; resolves the DEV_PROCESS.md references
- configs in the shared layout: cfgs/{train,eval,planning}/maze/ (6 train + 7 eval + 22 planning),
  siblings of cfgs/{...}/two_rooms/; plan_cfg_path/eval_cfg_path repointed to the new layout
- dataset eb_jepa/datasets/maze/ (sibling of two_rooms/) + shared infra it needs
  (precomputed.py, two_rooms gpu/offline pipeline, datasets/utils.py env_name dispatch)
- core maze support: hierarchical.py, planning.py objectives, state_decoder GoalValueHead
- shared ac_video trainer/eval gain env_name=maze; advanced scripts under examples/ac_video_jepa/maze/
- register --example maze in launch_sbatch (cfgs/train/maze/train_maze_aux.yaml)
- examples/{audio,eeg,fintime,ltsf,pointcloud,gray_scott}/ (main, eval, configs, README; fintime +prepare)
- eb_jepa/datasets/<track>/ (dataset.py + data_config.yaml) — siblings of two_rooms/maze
- register the 6 as --example targets in launch_sbatch (metrics: auroc/mse/auroc/accuracy/accuracy/vrmse)
- self-contained: each imports only its own datasets.<track>.dataset + eb_jepa core (unchanged)
Renames examples/{audio,eeg,fintime,gray_scott,ltsf,pointcloud}/configs/ -> cfgs/ and updates
all references (launcher EXAMPLE_CONFIGS, each main.py default fname/docstring, READMEs).
Hierarchy left flat as-is (only the name is unified to 'cfgs').
PR1 — ac_video_jepa: nested cfgs layout (Two Rooms)
Complete cfgs reorg: bring PR2–PR7 into main
- env.sh: export HTW SLURM defaults (partition=defq, cpus=8, gpus=1, time=120,
  mem=220G for GB200). Resolve account/qos PER USER: env override > persisted
  per-user file (written by setup.sh) > sacctmgr auto-detect; left empty otherwise.
- setup.sh: one-time prompt for account/qos only if auto-detect failed, persisted
  to $WORK/.eb_jepa_slurm.env (reused by env.sh, no re-query on later shells).
- launch_sbatch.py: HTW defaults; account/qos now OPTIONAL (omitted when empty) so
  a missing/foreign QOS never blocks submission and SLURM uses the user defaults.
cluster: auto-configure SLURM for HTW (per-user account/qos, GB200 mem)
…rkers

two_rooms/train.yaml defaulted to online (CPU per-batch generation) -> the Blackwell
GPU starves waiting on the CPU. Switch it to the on-GPU stream pipeline (mode: stream,
backend: gpu) like maze already uses, and drop num_workers to 4 (val_loader only) so it
no longer oversubscribes the 8 allocated CPUs. (maze left as-is — it needs many workers
for its CPU-side generation.)

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…ader workers

A lazily-loaded .npz is a shared zip handle; concurrent reads from forked workers
corrupt it (zipfile.BadZipFile in the eval probe). Load y_direction/y_return into
memory in __init__. (Ported from the epure branch where it was found via smoke test.)

Co-Authored-By: Claude Opus 4.8 <[email protected]>
1. DALIA rejects --mem/--mem-per-gpu (memory is allocated by cores) -> the 220G
   mem_per_gpu default made every submission fail. Make the memory request optional
   (EBJEPA_SLURM_MEM defaults to empty; only sent when set, for other clusters).
2. The AutoExecutor switch dropped COMPUTE_PYTHON, so submitit ran the x86_64 login
   python on the aarch64 compute nodes -> "Exec format error". Re-add COMPUTE_PYTHON
   and point the executor at the aarch64 venv interpreter.

Verified: two_rooms (GPU-stream) + maze both train 1 epoch on GB200 via the launcher.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Fix DALIA/GB200 launch: GPU-stream two_rooms, launcher --mem & aarch64 python, fintime BadZipFile
- env.sh: set UV_PYTHON_INSTALL_DIR=$WORK/uv_python/$ARCH so uv's managed
  CPython lands on /work instead of ~/.local/share/uv/python, which overflows
  the small /lustre/home quota and makes the aarch64 venv-sync job fail with
  'Disk quota exceeded' during CPython extraction.
- setup.sh: 'module load python312' in the aarch64 sync --wrap (mirrors
  slurm_test.sh) so uv reuses the cluster Python and downloads no managed CPython.
- tests/planning_test.py::test_main_eval: set mock_env.cell_size = 1.0 so
  'waypoint_reach_cells * env.cell_size' (planning.py:262) no longer raises
  'unsupported operand for *: float and Mock'.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
A video-JEPA violation-of-expectation probe on procedural bouncing MNIST:
matched plausible/impossible clips (teleport / instant reversal / wall
pass-through) compared by latent prediction energy (predcost).

- examples/intuitive_physics/{stimuli,main,eval}.py + cfgs/{train,eval}.yaml + README
- data (stimuli.py) and training loop (main.py, eb_jepa.training_utils) provided;
  the per-clip predcost energy probe (eval.clip_energy) is left as a TODO
- register the example in launch_sbatch EXAMPLE_CONFIGS
- add the Track 14 poc to the hackathon guide

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Skeleton trainer + a provided perturbation-sweep harness for the factors-of-variation
track: implement the recipe, train on Two Rooms, then sweep planning success across
controllable factors of variation (dot_std / wall_width / door_space).

- examples/factors_of_variation/: main.py (SKELETON — build_jepa is a # TODO; the data
  + training loop are provided), eval.py (zero-shot perturbation sweep on a fixed
  checkpoint; imports build_jepa from main), make_figure.py, README, cfgs/{train,eval}.yaml
- eb_jepa/planning.py: getattr guards so two_rooms plan-eval no longer crashes on
  maze-only env attrs (cell_size/agent_cell) -- benefits all examples
- examples/launch_sbatch.py: register factors_of_variation

Co-Authored-By: Claude Opus 4.8 <[email protected]>
feat(examples): add factors_of_variation stress-test track (Track 13)
feat(examples): add intuitive_physics starter (Track 14)
…-and-test

Fix HTW cluster aarch64 venv quota failure + test_main_eval
Trick5t3r and others added 6 commits June 19, 2026 08:24
Added setup instructions for HackTheWorld(s) Hackathon.
Removed optional HTW cluster quick start section from README.
The intuitive_physics entry was missing its closing brace, making
examples/launch_sbatch.py a SyntaxError -> the launcher could not import,
so NO example could be launched via SLURM. Add the missing "}," .
- README: list intuitive_physics/factors_of_variation in launcher choices;
  fix "above"->"below" (HTW pointer is now above the generic install on purpose);
  SLURM config now via env.sh/EBJEPA_SLURM_* + CLI flags, not editing the dict.
- two_rooms/train.yaml: num_workers 4 -> 16 (matches cluster/DEV_PROCESS.md table).
- eval/two_rooms/eval.yaml: add documented meta.n_parallel: 1 default; align data/README snippet.
- intuitive_physics/README: drop stale "register in EXAMPLE_CONFIGS" (already registered).
- maze/README: add repr_dist_collision to objective_type set.
- hackathon_guide/README: bibliography 58 -> 72 entries.
Adjust hackathon docs + fix launcher SyntaxError
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jun 19, 2026
@Trick5t3r Trick5t3r closed this Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants