--- pipeline_tag: text-to-video tags: - omnimem - wan - video-generation - self-forcing --- # self_forcing_from_ode_init OmniMem ordinary self-forcing checkpoint initialized from ODE-trained generator weights. This release contains the **generator EMA weights at self-forcing training step 800**. It is the shared initialization checkpoint used for the plain and prompt-switching rolling-training branches. ## Checkpoint lineage ODE step-800 generator weights → ordinary self-forcing step-800 EMA → rolling-training branches. The downstream releases are: - [long_rolling_plain_from_ode_init](https://huggingface.co/omnimem/long_rolling_plain_from_ode_init) - [long_rolling_switch_prompt_from_ode_init](https://huggingface.co/omnimem/long_rolling_switch_prompt_from_ode_init) ## Contents - `config.json` - Two `safetensors` weight shards and their index - `SHA256SUMS` for payload integrity checking The weights retain their original FP32 storage. The model configuration uses NSA top-12 block selection. ## Usage Use compatible OmniMem code with `CausalWanNSAModel` and `CausalWanT2VPipeline`. The Wan2.1 VAE, UMT5 text encoder, and tokenizer are separate required components. ```python from omnimem.models.transformers.causal_wan_nsa_model import CausalWanNSAModel model = CausalWanNSAModel.from_pretrained( "omnimem/self_forcing_from_ode_init" ) ``` The original checkpoint configuration is preserved unchanged. Its saved class name records the training wrapper, and `_name_or_path` records the upstream ODE initialization source. The released payload is the **ordinary self-forcing step-800 EMA** checkpoint.