Diffusers documentation

WanAnimateTransformer3DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

WanAnimateTransformer3DModel

Một mô hình Diffusion Transformer cho dữ liệu dạng video 3D đã được giới thiệu trong Wan Animate bởi nhóm Alibaba Wan.

Mô hình có thể được tải bằng đoạn mã sau.

from diffusers import WanAnimateTransformer3DModel

transformer = WanAnimateTransformer3DModel.from_pretrained("Wan-AI/Wan2.2-Animate-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

WanAnimateTransformer3DModel

lớp diffusers.WanAnimateTransformer3DModel

< >

( patch_size: tuple = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int | None = 36latent_channels: int | None = 16out_channels: int | None = 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 = 1280added_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonemotion_encoder_channel_sizes: dict[str, int] | None = Nonemotion_encoder_size: int = 512motion_style_dim: int = 512motion_dim: int = 20motion_encoder_dim: int = 512face_encoder_hidden_dim: int = 1024face_encoder_num_heads: int = 4inject_face_latents_blocks: int = 5motion_encoder_batch_size: int = 8 )

Tham số

  • patch_size (tuple[int], mặc định là (1, 2, 2)) — Kích thước patch 3D cho nhúng video (t_patch, h_patch, w_patch).
  • num_attention_heads (int, mặc định là 40) — Độ dài cố định cho các vector nhúng văn bản.
  • attention_head_dim (int, mặc định là 128) — Số lượng kênh trong mỗi head.
  • in_channels (int, mặc định là 16) — Số lượng kênh trong đầu vào.
  • out_channels (int, mặc định là 16) — Số lượng kênh trong đầu ra.
  • text_dim (int, mặc định là 512) — Kích thước đầu vào cho các vector nhúng văn bản.
  • freq_dim (int, mặc định là 256) — Kích thước cho các nhúng thời gian hình sin.
  • ffn_dim (int, mặc định là 13824) — Kích thước chiều trung gian trong mạng feed-forward.
  • num_layers (int, mặc định là 40) — Số lượng lớp của các khối transformer cần sử dụng.
  • window_size (tuple[int], mặc định là (-1, -1)) — Kích thước cửa sổ cho chú ý cục bộ (-1 chỉ ra chú ý toàn cục).
  • cross_attn_norm (bool, mặc định là True) — Bật chuẩn hóa cross-attention.
  • qk_norm (bool, mặc định là True) — Bật chuẩn hóa query/key.
  • eps (float, mặc định là 1e-6) — Giá trị epsilon cho các lớp chuẩn hóa.
  • image_dim (int, tùy chọn, mặc định là 1280) — Số lượng kênh được sử dụng cho nhúng hình ảnh. Nếu là None, sẽ không sử dụng phép chiếu.
  • added_kv_proj_dim (int, tùy chọn, mặc định là 5120) — Số lượng kênh được sử dụng cho các phép chiếu key và value được thêm vào. Nếu là None, sẽ không sử dụng phép chiếu.

Một mô hình Transformer cho dữ liệu dạng video được sử dụng trong mô hình WanAnimate.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonepose_hidden_states: typing.Optional[torch.Tensor] = Noneface_pixel_values: typing.Optional[torch.Tensor] = Nonemotion_encode_batch_size: int | None = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None ) → ~models.transformer_2d.Transformer2DModelOutput or tuple

Tham số

  • hidden_states (torch.Tensor có hình dạng (B, 2C + 4, T + 1, H, W)) — Các latent video nhiễu đầu vào có hình dạng (B, 2C + 4, T + 1, H, W), trong đó B là kích thước lô (batch size), C là số kênh latent (16 đối với Wan VAE), T là số khung latent trong một đoạn suy luận, H là chiều cao latent và W là chiều rộng latent.
  • timestep — (torch.LongTensor): Bước thời gian hiện tại trong vòng lặp khử nhiễu.
  • encoder_hidden_states (torch.Tensor) — Nhúng văn bản từ bộ mã hóa văn bản (umT5 cho Wan Animate).
  • encoder_hidden_states_image (torch.Tensor) — Đặc trưng thị giác CLIP của hình ảnh tham chiếu (nhân vật).
  • pose_hidden_states (torch.Tensor có hình dạng (B, C, T, H, W)) — Latent của video tư thế. TODO: mô tả
  • face_pixel_values (torch.Tensor có hình dạng (B, C', S, H', W')) — Video khuôn mặt trong không gian pixel (không phải không gian latent). Thông thường C’ = 3 và H’ và W’ là chiều cao/chiều rộng của video khuôn mặt tính bằng pixel. Ở đây S là độ dài đoạn suy luận, thường được đặt là 77.
  • motion_encode_batch_size (int, tùy chọn) — Kích thước lô (batch size) cho việc mã hóa theo lô video khuôn mặt thông qua bộ mã hóa chuyển động. Nếu không được đặt, giá trị mặc định sẽ là self.config.motion_encoder_batch_size.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về kết quả dưới dạng dict hay tuple hay không.
  • attention_kwargs (dict, tùy chọn) — Một từ điển kwargs, nếu được chỉ định, sẽ được truyền đến AttentionProcessor như đã định nghĩa dưới self.processor trong diffusers.models.attention_processor.

Trả về

~models.transformer_2d.Transformer2DModelOutput hoặc tuple

Nếu return_dict là True, một ~models.transformer_2d.Transformer2DModelOutput có sample là latent của video đã khử nhiễu sẽ được trả về, ngược lại một tuple thông thường có phần tử đầu tiên là tensor đó sẽ được trả về.

Quá trình truyền thẳng của mô hình transformer Wan2.2-Animate.

Transformer2DModelOutput

lớp diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Tham số

  • sample (torch.Tensor có hình dạng (batch_size, num_channels, height, width) hoặc (batch size, num_vector_embeds - 1, num_latent_pixels) nếu Transformer2DModel là rời rạc) — Trạng thái ẩn đầu ra được điều kiện bởi đầu vào encoder_hidden_states. Nếu là rời rạc, trả về các phân phối xác suất cho các pixel tiềm ẩn không nhiễu.

Đầu ra của Transformer2DModel.

Update on GitHub