Buckets:
AnyFlowTransformer3DModel
El Transformer 3D bidireccional utilizado por AnyFlowPipeline. Es el backbone Wan2.1 de la v0.35.1 con un cambio estructural: el incrustador de paso temporal se reemplaza por AnyFlowDualTimestepTextImageEmbedding, de modo que cada llamada de propagación hacia adelante se condiciona tanto al paso temporal de origen t como al paso temporal de destino r. Esta es la incrustación necesaria para aprender el mapa de flujo $\Phi_{r\leftarrow t}$ introducido en AnyFlow. Consulte la página de AnyFlowPipeline para obtener el artículo, los autores y los puntos de control publicados.
Para la generación autoregresiva por bloques (FAR causal), use AnyFlowFARTransformer3DModel en su lugar.
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]]
diffusers.AnyFlowTransformer3DModel(patch_size: typing.Tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, eps: float = 1e-06, image_dim: typing.Optional[int] = None, rope_max_seq_len: int = 1024, gate_value: float = 0.25, deltatime_type: str = 'r')
Parámetros:
patch_size (Tuple[int], por defecto (1, 2, 2)) : dimensiones del parche 3D para la incrustación de video (t_patch, h_patch, w_patch).
num_attention_heads (int, por defecto 40) : Número de cabezas de atención.
attention_head_dim (int, por defecto 128) : El número de canales en cada cabeza.
in_channels (int, por defecto 16) : El número de canales en el latente de entrada.
out_channels (int, por defecto 16) : El número de canales en el latente de salida.
text_dim (int, por defecto 4096) : Dimensión de entrada para las incrustaciones de texto (UMT5).
freq_dim (int, por defecto 256) : Dimensión para las incrustaciones sinusoidales de tiempo.
ffn_dim (int, por defecto 13824) : Dimensión intermedia en la red feed-forward.
num_layers (int, por defecto 40) : Número de bloques de transformer.
cross_attn_norm (bool, por defecto True) : Habilita la normalización de la atención cruzada.
eps (float, por defecto 1e-6) : Epsilon para las capas de normalización.
image_dim (Optional[int], opcional, valor predeterminado None) : Dimensión del incrustado de imagen para el condicionamiento I2V (1280 para el modelo original Wan2.1-I2V).
rope_max_seq_len (int, por defecto 1024) : Longitud máxima de secuencia utilizada para precalcular las frecuencias de posición rotativa.
gate_value (float, por defecto 0.25) : Puerta de mezcla entre las incrustaciones de paso de tiempo de origen y de paso de tiempo delta (el parámetro del artículo de AnyFlow, fijado en 0.25 en la destilación de la etapa 1).
deltatime_type (str, por defecto 'r') : Ya sea "r" (delta es el paso de tiempo objetivo) o "t-r" (delta es el intervalo absoluto).
Transformador 3D bidireccional para el muestreo de mapas de flujo de AnyFlow.
La arquitectura es el backbone v0.35.1 Wan2.1 3D DiT con un cambio estructural: el timestep embedder se reemplaza por AnyFlowDualTimestepTextImageEmbedding para que cada llamada forward condicione tanto en el timestep de origen t como en el timestep de destino r. Esta es la embedding necesaria para aprender el flow map \Phi_{r\leftarrow t} introducido en AnyFlow.
Para la generación autoregresiva por bloques (FAR causal), use AnyFlowFARTransformer3DModel en su lugar; esa variante añade el bloque de máscara causal FAR y un patch embedding de marco comprimido sobre el mismo backbone.
forward[[diffusers.AnyFlowTransformer3DModel.forward]]
forward(hidden_states: Tensor, timestep: Tensor, r_timestep: Tensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, return_dict: bool = True)
Parámetros:
hidden_states (torch.Tensor de forma (batch_size, num_frames, num_channels, height, width)) : Latentes de video de entrada.
timestep (torch.Tensor) : Paso temporal t del mapa de flujo de origen (más ruidoso).
r_timestep (torch.Tensor) : Paso de tiempo r del mapa de flujo objetivo (más limpio); define el destino del paso del mapa de flujo.
encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) : Embeddings de condicionamiento de texto.
encoder_hidden_states_image (torch.Tensor, opcional) : Embeddings de condicionamiento de imagen; se concatenan antes de los tokens de texto cuando se proporcionan.
attention_kwargs (dict, opcional) : Kwargs reenviados al AttentionProcessor tal como se definen bajo self.processor en diffusers.models.attention_processor.
return_dict (bool, opcional, valor predeterminado True) : Si se debe devolver un [~models.transformer_2d.Transformer2DModelOutput] en lugar de una tupla simple.
Devuelve:
[~models.transformer_2d.Transformer2DModelOutput] si return_dict es True, en caso contrario una tuple cuyo primer elemento es el tensor de velocidad predicho.
Paso de propagación hacia adelante del mapa de flujo bidireccional. hidden_states se organiza como (B, F, C, H, W) (latentes por cuadro). La entrada se divide en parches con el patch_embedding estándar (kernel = stride = patch_size) y se desruidifica mediante autoatención bidireccional global sobre la secuencia plana de tokens resultante.
Xet Storage Details
- Size:
- 6.46 kB
- Xet hash:
- b0de017fb4346160b3cbf8f96b68fb3a475a3401e6c06c345e7093fc85464345
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.