WorldMem_Repro / README.md
BonanDing's picture
update README
d5a893d
# WorldMem
Long-term consistent world simulation with memory.
## Environment (conda)
```bash
conda create -n worldmem python=3.10
conda activate worldmem
pip install -r requirements.txt
conda install -c conda-forge ffmpeg=4.3.2
```
## Data preparation (data folder)
1. Download the Minecraft dataset:
https://huggingface.co/datasets/zeqixiao/worldmem_minecraft_dataset
2. Place it under `data/` with this structure:
```text
data/
└── minecraft/
β”œβ”€β”€ training/
β”œβ”€β”€ validation/
└── test/
```
The training and evaluation scripts expect the dataset to live at `data/minecraft` by default.
## Checkpoints
Pretrained checkpoints are hosted on Hugging Face: `zeqixiao/worldmem_checkpoints`.
Example download to `checkpoints/`:
```bash
huggingface-cli download zeqixiao/worldmem_checkpoints diffusion_only.ckpt --local-dir checkpoints
huggingface-cli download zeqixiao/worldmem_checkpoints vae_only.ckpt --local-dir checkpoints
huggingface-cli download zeqixiao/worldmem_checkpoints pose_prediction_model_only.ckpt --local-dir checkpoints
```
Then point your scripts or configs to these files, for example:
```bash
python -m main +name=train +diffusion_model_path=checkpoints/diffusion_only.ckpt +vae_path=checkpoints/vae_only.ckpt
```
## Training
Run a single stage:
```bash
sh train_stage_1.sh
sh train_stage_2.sh
sh train_stage_3.sh
```
Run all stages:
```bash
sh train_3stages.sh
```
The stage scripts include dataset and checkpoint paths. Update those paths or override them on the CLI to match your local setup.
## Training config (exp_video.yaml)
Defaults live in `configurations/experiment/exp_video.yaml`.
Common fields to edit:
- `training.lr`
- `training.precision`
- `training.batch_size`
- `training.max_steps`
- `training.checkpointing.every_n_train_steps`
- `validation.val_every_n_step`
- `validation.batch_size`
- `test.batch_size`
You can also override values from the CLI used in the scripts:
```bash
python -m main +name=train experiment.training.batch_size=8 experiment.training.max_steps=100000
```
W&B run IDs: `configurations/training.yaml` has `resume` and `load` fields. The run ID is the short token in the run URL (for example, `ot7jqmgn`).