Diffusers documentation
WanTransformer3DModel
WanTransformer3DModel
Un modelo Diffusion Transformer para datos de video 3D fue introducido en Wan 2.1 por el equipo Alibaba Wan.
El modelo se puede cargar con el siguiente fragmento de código.
from diffusers import WanTransformer3DModel
transformer = WanTransformer3DModel.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)WanTransformer3DModel
clase diffusers.WanTransformer3DModel
< source >( patch_size: tuple = (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 = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = None )
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 defecto40) — Longitud fija para las incrustaciones de texto. - attention_head_dim (
int, por defecto128) — El número de canales en cada cabeza. - in_channels (
int, por defecto16) — El número de canales en la entrada. - out_channels (
int, por defecto16) — El número de canales en la salida. - text_dim (
int, por defecto512) — Dimensión de entrada para las incrustaciones de texto. - freq_dim (
int, por defecto256) — Dimensión para las incrustaciones sinusoidales de tiempo. - ffn_dim (
int, por defecto13824) — Dimensión intermedia en la red feed-forward. - num_layers (
int, por defecto40) — El número de capas de bloques de transformador a utilizar. - window_size (
tuple[int], por defecto(-1, -1)) — Tamaño de la ventana para la atención local (-1 indica atención global). - cross_attn_norm (
bool, por defectoTrue) — Habilita la normalización de atención cruzada. - qk_norm (
bool, por defectoTrue) — Habilita la normalización de query/key. - eps (
float, por defecto1e-6) — Valor de epsilon para las capas de normalización. - add_img_emb (
bool, por defectoFalse) — Si se debe usar img_emb. - added_kv_proj_dim (
int, opcional, valor predeterminadoNone) — El número de canales a utilizar para las proyecciones de clave y valor añadidas. Si esNone, no se utiliza ninguna proyección.
Un modelo Transformer para datos similares a video utilizado en el modelo Wan.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None )
Parámetros
- hidden_states (
torch.Tensorde forma(batch_size, num_channels, num_frames, height, width)) — Entradahidden_states. - timestep (
torch.LongTensor) — Se utiliza para indicar el paso de desruido. - encoder_hidden_states (
torch.Tensorde forma(batch_size, sequence_len, embed_dims)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar. - encoder_hidden_states_image (
torch.Tensor, opcional) — Incrustaciones de imagen condicionales para la generación condicionada por imagen. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver un~models.transformer_2d.Transformer2DModelOutputen lugar de una tupla simple. - attention_kwargs (
dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa alAttentionProcessordefinido enself.processordentro de diffusers.models.attention_processor.
El método forward de WanTransformer3DModel.
Transformer2DModelOutput
clase diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parámetros
- sample (
torch.Tensorde forma(batch_size, num_channels, height, width)o(batch size, num_vector_embeds - 1, num_latent_pixels)si Transformer2DModel es discreto) — La salida de estados ocultos condicionada a la entradaencoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.
La salida de Transformer2DModel.