Downloads · 30 days
0
luuuulinnnn/mcsdf-dl3dv-i2v14b
mcsdf-dl3dv-i2v14b is a machine learning model from luuuulinnnn. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as other.
Checkpoint + training visualizations for a Memory-Conditioned Scene Diffusion Forcing (MCSDF) run: Wan2.1-I2V-14B backbone + geometry world-memory modules, trained with the anchor-mixture Diffusion-Forcing objective (…
Downloads · 30 days
0
Access
Public
Updated Jul 24, 2026
Repo size
1.2 GB
Likes
0
Public
Click a slice to open those files.
.pt1.1 GB · 96%
From the Hugging Face model README
Checkpoint + training visualizations for a Memory-Conditioned Scene Diffusion Forcing (MCSDF) run: Wan2.1-I2V-14B backbone + geometry world-memory modules, trained with the anchor-mixture Diffusion-Forcing objective (noise level = knownness) on DL3DV.
ckpt_last.pt (1.1 GB) — trained weights only: {step, "lora": <DiT LoRA rank-32 deltas on q,k,v,o,ffn>, "mem_mods": <geometry memory modules>}. The base Wan2.1-I2V-14B-480P DiT is frozen and NOT included — load it separately and apply these on top.viz_<scene>_step<N>.png — filmstrips (frames 0 / 20 / 40 / 60 / 80) of the model's generated video at each 500 steps, for 2 clips. Frame 0 = known/near start; later frames = extrapolated.k; known tokens SDEdit from the memory latent z_mem, unknown from noise; target velocity points at the true x0 (learn to correct the memory, not copy it); unknown tokens up-weighted.The objective trained cleanly (loss converged), but the extrapolated frames still show splat / ghost
artifacts (see *_step3000.png: frame 0 is sharp, frames 20–80 degrade). i.e. the rank-32 LoRA run
does not yet resolve the "splat-cleaner" failure — the model reuses known content well but does not
yet generate clean content in unknown regions. Next: diagnose memory over-injection vs sampler vs
capacity; a full-finetune (FSDP) of the backbone is the leading candidate.
pipe = load_wan_i2v14b() # frozen base
add_lora(pipe, rank=32); attach_mem(pipe) # same modules as training
ck = torch.load("ckpt_last.pt", map_location="cpu")
pipe.dit.load_state_dict(ck["lora"], strict=False)
pipe._mem_mods.load_state_dict(ck["mem_mods"])