Buckets:
AnyFlowTransformer3DModel
The bidirectional 3D Transformer used by AnyFlowPipeline. It is the
v0.35.1 Wan2.1 backbone with one structural change: the timestep embedder is replaced by
AnyFlowDualTimestepTextImageEmbedding, so every forward call conditions on both the source timestep
t and the target timestep r. This is the embedding required to learn the flow map
$\Phi_{r\leftarrow t}$ introduced in
AnyFlow. See the AnyFlowPipeline page
for paper, authors, and released checkpoints.
For chunk-wise autoregressive (FAR causal) generation, use
AnyFlowFARTransformer3DModel instead.
from diffusers import AnyFlowTransformer3DModel
# Bidirectional AnyFlow checkpoint (T2V):
transformer = AnyFlowTransformer3DModel.from_pretrained(
"nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer"
)
AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]]
diffusers.AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]]
Bidirectional 3D Transformer for AnyFlow flow-map sampling.
The architecture is the v0.35.1 Wan2.1 3D DiT backbone with one structural change: the timestep embedder is
replaced by AnyFlowDualTimestepTextImageEmbedding so that every forward call conditions on both the source
timestep t and the target timestep r. This is the embedding required to learn the flow map \Phi_{r\leftarrow t} introduced in AnyFlow.
For chunk-wise autoregressive (FAR causal) generation, use AnyFlowFARTransformer3DModel instead; that variant
adds the FAR causal block-mask and a compressed-frame patch embedding on top of the same backbone.
forwarddiffusers.AnyFlowTransformer3DModel.forwardhttps://github.com/huggingface/diffusers/blob/vr_13751/src/diffusers/models/transformers/transformer_anyflow.py#L626[{"name": "hidden_states", "val": ": Tensor"}, {"name": "timestep", "val": ": Tensor"}, {"name": "r_timestep", "val": ": Tensor"}, {"name": "encoder_hidden_states", "val": ": Tensor"}, {"name": "encoder_hidden_states_image", "val": ": typing.Optional[torch.Tensor] = None"}, {"name": "attention_kwargs", "val": ": typing.Optional[typing.Dict[str, typing.Any]] = None"}, {"name": "return_dict", "val": ": bool = True"}]- hidden_states (torch.Tensor of shape (batch_size, num_frames, num_channels, height, width)) -- Input video latents.
- timestep (torch.Tensor) -- Source (noisier) flow-map timestep t.
- r_timestep (torch.Tensor) -- Target (cleaner) flow-map timestep r; defines the destination of the flow-map step.
- encoder_hidden_states (torch.Tensor of shape (batch_size, sequence_len, embed_dims)) -- Text-conditioning embeddings.
- encoder_hidden_states_image (torch.Tensor, optional) -- Image-conditioning embeddings; concatenated before the text tokens when provided.
- attention_kwargs (dict, optional) -- Kwargs forwarded to the AttentionProcessor as defined under self.processor in diffusers.models.attention_processor.
- return_dict (bool, optional, defaults to True) -- Whether to return a [~models.transformer_2d.Transformer2DModelOutput] instead of a plain tuple.0[~models.transformer_2d.Transformer2DModelOutput] if return_dict is True, otherwise a tuple whose first element is the predicted velocity tensor.
Bidirectional flow-map forward pass. hidden_states is laid out as (B, F, C, H, W) (per-frame latents).
The input is patchified with the standard patch_embedding (kernel = stride = patch_size) and denoised
with global bidirectional self-attention over the resulting flat token sequence.
Parameters:
patch_size (Tuple[int], defaults to (1, 2, 2)) : 3D patch dimensions for video embedding (t_patch, h_patch, w_patch).
num_attention_heads (int, defaults to 40) : Number of attention heads.
attention_head_dim (int, defaults to 128) : The number of channels in each head.
in_channels (int, defaults to 16) : The number of channels in the input latent.
out_channels (int, defaults to 16) : The number of channels in the output latent.
text_dim (int, defaults to 4096) : Input dimension for text embeddings (UMT5).
freq_dim (int, defaults to 256) : Dimension for sinusoidal time embeddings.
ffn_dim (int, defaults to 13824) : Intermediate dimension in feed-forward network.
num_layers (int, defaults to 40) : Number of transformer blocks.
cross_attn_norm (bool, defaults to True) : Enable cross-attention normalization.
eps (float, defaults to 1e-6) : Epsilon for normalization layers.
image_dim (Optional[int], optional, defaults to None) : Image embedding dimension for I2V conditioning (1280 for the original Wan2.1-I2V model).
rope_max_seq_len (int, defaults to 1024) : Maximum sequence length used to precompute rotary position frequencies.
gate_value (float, defaults to 0.25) : Mixing gate between source-timestep and delta-timestep embeddings (the AnyFlow paper's parameter, fixed at 0.25 in stage-1 distillation).
deltatime_type (str, defaults to 'r') : Either "r" (delta is the target timestep) or "t-r" (delta is the absolute interval).
Returns:
[~models.transformer_2d.Transformer2DModelOutput] if return_dict is True, otherwise a tuple whose first element is the predicted velocity tensor.
Xet Storage Details
- Size:
- 5.74 kB
- Xet hash:
- fc12d616f1253708cfdffef3092619aa031d521d399df71349e1e8263e6a6b42
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.