Presentations - #24
Closed
Trick5t3r wants to merge 36 commits into
Closed
Conversation
- 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)
…path in plots docstring
- 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
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.