Diffusers documentation
AnyFlowTransformer3DModel
AnyFlowTransformer3DModel
O Transformer 3D bidirecional usado por AnyFlowPipeline. É o backbone Wan2.1 v0.35.1 com uma mudança estrutural: o incorporador de passo de tempo é substituído por AnyFlowDualTimestepTextImageEmbedding, para que cada chamada de encaminhamento condicione tanto no passo de tempo de origem t quanto no passo de tempo de destino r. Esta é a incorporação necessária para aprender o mapa de fluxo introduzido em AnyFlow. Veja a página AnyFlowPipeline para o artigo, os autores e os checkpoints liberados.
Para geração autoregressiva por blocos (FAR causal), use AnyFlowFARTransformer3DModel em vez disso.
from diffusers import AnyFlowTransformer3DModel
# Bidirectional AnyFlow checkpoint (T2V):
transformer = AnyFlowTransformer3DModel.from_pretrained(
"nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer"
)AnyFlowTransformer3DModel
classe diffusers.AnyFlowTransformer3DModel
< source >( patch_size: typing.Tuple[int] = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueeps: float = 1e-06image_dim: typing.Optional[int] = Nonerope_max_seq_len: int = 1024gate_value: float = 0.25deltatime_type: str = 'r' )
Parâmetros
- patch_size (Tuple[int], padrão (1, 2, 2)) — Dimensões do patch 3D para incorporação de vídeo (t_patch, h_patch, w_patch).
- num_attention_heads (int, padrão 40) — Número de cabeças de atenção.
- attention_head_dim (int, padrão 128) — O número de canais em cada head.
- in_channels (int, padrão 16) — O número de canais no latente de entrada.
- out_channels (int, padrão 16) — O número de canais no latente de saída.
- text_dim (int, padrão 4096) — Dimensão de entrada para embeddings de texto (UMT5).
- freq_dim (int, padrão 256) — Dimensão para incorporações de tempo sinusoidais.
- ffn_dim (int, padrão 13824) — Dimensão intermediária na rede feed-forward.
- num_layers (int, padrão 40) — Número de blocos de transformer.
- cross_attn_norm (bool, padrão True) — Ativa a normalização de atenção cruzada.
- eps (float, padrão 1e-6) — Epsilon para as camadas de normalização.
- image_dim (Optional[int], opcional, padrão None) — Dimensão do embedding de imagem para condicionamento I2V (1280 para o modelo original Wan2.1-I2V).
- rope_max_seq_len (int, padrão 1024) — Comprimento máximo da sequência usado para pré-computar as frequências de posição rotativa.
- gate_value (float, defaults to 0.25) — Mixing gate between source-timestep and delta-timestep embeddings (the AnyFlow paper’s{@html "g"} parameter, fixed at 0.25 in stage-1 distillation).
- deltatime_type (str, padrão ‘r’) —
Ou
"r"(o delta é o timestep alvo) ou"t-r"(o delta é o intervalo absoluto).
Transformador 3D bidirecional para amostragem de mapas de fluxo do AnyFlow.
A arquitetura é o backbone Wan2.1 3D DiT da v0.35.1 com uma mudança estrutural: o incorporador de passo de tempo é substituído por AnyFlowDualTimestepTextImageEmbedding para que cada chamada de forward condicione tanto no passo de tempo de origem t quanto no passo de tempo de destino r. Este é o incorporador necessário para aprender o mapa de fluxo introduzido em AnyFlow.
Para geração autoregressiva por blocos (FAR causal), use AnyFlowFARTransformer3DModel em vez disso; essa variante adiciona a máscara de bloco causal FAR e um patch embedding de quadro comprimido sobre o mesmo backbone.
forward
< source >( hidden_states: Tensortimestep: Tensorr_timestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True )
Parâmetros
- hidden_states (torch.Tensor de forma (batch_size, num_frames, num_channels, height, width)) — Latentes de vídeo de entrada.
- timestep (torch.Tensor) — Timestep t do fluxo-mapa de origem (mais ruidoso).
- r_timestep (torch.Tensor) — Timestep r do fluxo-mapa de destino (mais limpo); define o destino do passo do fluxo-mapa.
- encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incorporações de condicionamento de texto.
- encoder_hidden_states_image (torch.Tensor, opcional) — Incorporações de condicionamento por imagem; concatenadas antes dos tokens de texto quando fornecidas.
- attention_kwargs (dict, opcional) — Kwargs encaminhados ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
- return_dict (bool, opcional, padrão True) — Se deve retornar um [~models.transformer_2d.Transformer2DModelOutput] em vez de uma tupla simples.
Passada direta do fluxo bidirecional de mapa de fluxo. hidden_states é organizado como (B, F, C, H, W) (latentes por quadro).
A entrada é patchificada com o padrão patch_embedding (kernel = stride = patch_size) e desrujida
com autoatenção global bidirecional sobre a sequência plana de tokens resultante.