| # Inference Recipes |
|
|
| Bash-level inference scripts mirroring `train/` — one script per memory row, all calling `inference/unified_inference.py`. |
|
|
| ## Usage |
|
|
| ```bash |
| export WAN_BASE_MODEL=/path/to/Wan2.1-T2V-1.3B |
| |
| # Single memory type |
| CKPT=./ckpts/context_k1/epoch-0.safetensors \ |
| bash inference/memory_baselines_basic/run_infer_context_k1.sh |
| |
| # With custom prompt and context image |
| CKPT=./ckpts/context_k1/epoch-0.safetensors \ |
| PROMPT="A toy bear on a table" \ |
| CONTEXT_IMAGE=assets/opendomain_revisit/1774363417.png \ |
| bash inference/memory_baselines_basic/run_infer_context_k1.sh |
| |
| # All memory baselines (needs CKPT_DIR with per-row folders) |
| CKPT_DIR=./ckpts bash inference/memory_baselines_basic/run_infer_all.sh |
| |
| # Dynamic SpatialVID row |
| CKPT=/path/to/retrained_dynamic_spatial_mem/epoch-0.safetensors \ |
| bash inference/dynamic_spatialvid/run_infer_dyn_spatial_mem.sh |
| ``` |
|
|
| ## Environment Variables |
|
|
| | Variable | Default | Description | |
| |---|---|---| |
| | `CKPT` | (required) | Path to `.safetensors` checkpoint | |
| | `WAN_BASE_MODEL` | (required) | Wan 2.1 base model directory | |
| | `PROMPT` | Generic game scene prompt | Text prompt | |
| | `CONTEXT_IMAGE` | (none) | First-frame context image path | |
| | `ACTION_PATH` | `env/action_rotation_left_45.json` | Camera trajectory JSON | |
| | `SEED` | `0` | Random seed | |
| | `HEIGHT` / `WIDTH` | `352` / `640` | Resolution | |
| | `NUM_FRAMES` | `81` | Frames per chunk | |
| | `NUM_INFERENCE_STEPS` | `50` | Denoising steps | |
| | `SIGMA_SHIFT` | `15.0` (memory baselines) / `5.0` (context learning) | Timestep shift | |
| | `INFER_OUTPUT_ROOT` | `inference_outputs/` | Output directory | |
|
|
| ## Script Mapping |
|
|
| ### Memory Baselines (`inference/memory_baselines_basic/`) |
|
|
| | Inference script | `--memory_type` | Training script | |
| |---|---|---| |
| | `run_infer_no_memory.sh` | `no_memory` | `run_ablation_no_memory_baseline_two_chunk.sh` | |
| | `run_infer_framepack_weight.sh` | `framepack_weight` | `run_ablation_framepack_weight_two_chunk.sh` | |
| | `run_infer_framepack_len_r2.sh` | `framepack_len_r2` | `run_ablation_framepack_len_r2_two_chunk.sh` | |
| | `run_infer_framepack_len_r4.sh` | `framepack_len_r4` | `run_ablation_framepack_len_r4_two_chunk.sh` | |
| | `run_infer_framepack_hybrid_r2.sh` | `framepack_hybrid_r2` | `run_ablation_framepack_hybrid_r2_weight_two_chunk.sh` | |
| | `run_infer_framepack_hybrid_r4.sh` | `framepack_hybrid_r4` | `run_ablation_framepack_hybrid_r4_weight_two_chunk.sh` | |
| | `run_infer_spatial_mem.sh` | `spatial_mem` | `run_spatial_memory_baseline.sh` | |
| | `run_infer_spatial_concat_text.sh` | `spatial_concat_text` | `run_ablation_spatial_concat_text_two_chunk.sh` | |
| | `run_infer_spatial_inject_none.sh` | `spatial_inject_none` | `run_ablation_spatial_inject_none_two_chunk.sh` | |
| | `run_infer_spatial_cross_attn_readout.sh` | `spatial_cross_attn_readout` | `run_ablation_spatial_cross_attn_readout_two_chunk.sh` | |
| | `run_infer_videossm_hybrid.sh` | `videossm_hybrid` | `run_videossm_hybrid_baseline.sh` | |
| | `run_infer_block_wise_ssm.sh` | `block_wise_ssm` | `run_ablation_block_wise_ssm_two_chunk.sh` | |
|
|
| ### Context Learning (`inference/context_learning/`) |
| |
| | Inference script | `--memory_type` | Training script | |
| |---|---|---| |
| | `run_infer_ctx1.sh` | `context_k1` | `run_pre_qkv_ctx1.sh` | |
| | `run_infer_ctx5.sh` | `context_k5` | `run_pre_qkv_ctx5.sh` | |
| | `run_infer_ctx20.sh` | `context_k20` | `run_pre_qkv_ctx20.sh` | |
|
|
| ### Dynamic SpatialVID (`inference/dynamic_spatialvid/`) |
| |
| Dynamic wrappers mirror the six dynamic training rows in `train/dynamic_spatialvid/`. They are intended for qualitative replay and demo generation; dynamic evaluation scripts are TODO. |
|
|