DeMemWM / README.md
BonanDing's picture
Initial commit
b47a1ce
# DeMemWM
This repo is forked from [Boyuan Chen](https://boyuan.space/)'s research template [repo](https://github.com/buoyancy99/research-template). By its MIT license, you must keep this sentence in `README.md` and the `LICENSE` file to credit the author.
DeMemWM is a Memory-DiT video prediction project built on the local research template. The primary algorithm entry point is `DeMemWMMinecraft`, registered through the Hydra algorithm config `dememwm_memory_dit`.
## Quick Start
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m pytest tests
```
Run a local offline experiment after setting the dataset path in `configurations/dataset/video_minecraft.yaml`:
```bash
python main.py +name=dememwm_debug algorithm=dememwm_memory_dit wandb.mode=offline
```
Use `resume_ckpt_path=/path/to/checkpoint.ckpt` for deterministic checkpoint resume, or keep `auto_resume=true` to resume from `output_dir/checkpoints` when available.
## Layout
- `algorithms/worldmem/dememwm/`: DeMemWM memory construction, retrieval, scheduling, diagnostics, and injection code.
- `algorithms/worldmem/dememwm_memory_dit.py`: primary DeMemWM algorithm class.
- `configurations/algorithm/dememwm_memory_dit.yaml`: consumed DeMemWM training and evaluation contract.
- `scripts/`: Slurm and inspection scripts using the DeMemWM naming.
- `tests/`: static and unit coverage for DeMemWM config, retrieval, compression, schedules, and training behavior.
## Reproducibility Notes
- Keep `wandb.mode=offline` for local reproducible runs that do not depend on network access.
- Set `seed=<int>` on the command line to seed Lightning and dataloader workers.
- Runtime artifacts such as `outputs/`, `slurm_logs/`, Python caches, checkpoints, and local datasets are ignored by git.
- The default Hydra training config selects `algorithm: dememwm_memory_dit`.