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

Model Diffusion Transformer untuk data video 3D diperkenalkan dalam Wan Animate oleh Alibaba Wan Team.

Model dapat dimuat dengan potongan kode berikut.

from diffusers import WanAnimateTransformer3DModel

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

WanAnimateTransformer3DModel

kelas 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 )

Parameter

  • patch_size (tuple[int], defaultnya (1, 2, 2)) — Dimensi patch 3D untuk embedding video (t_patch, h_patch, w_patch).
  • num_attention_heads (int, defaultnya 40) — Panjang tetap untuk embedding teks.
  • attention_head_dim (int, defaultnya 128) — Jumlah saluran di setiap head.
  • in_channels (int, defaultnya 16) — Jumlah channel pada input.
  • out_channels (int, defaultnya 16) — Jumlah channel pada output.
  • text_dim (int, defaultnya 512) — Dimensi input untuk embedding teks.
  • freq_dim (int, defaultnya 256) — Dimensi untuk embedding waktu sinusoidal.
  • ffn_dim (int, defaultnya 13824) — Dimensi perantara dalam jaringan feed-forward.
  • num_layers (int, defaultnya 40) — Jumlah lapisan blok transformer yang akan digunakan.
  • window_size (tuple[int], defaultnya (-1, -1)) — Ukuran jendela untuk perhatian lokal (-1 menunjukkan perhatian global).
  • cross_attn_norm (bool, defaultnya True) — Aktifkan normalisasi cross-attention.
  • qk_norm (bool, defaultnya True) — Aktifkan normalisasi query/key.
  • eps (float, defaultnya 1e-6) — Nilai epsilon untuk lapisan normalisasi.
  • image_dim (int, opsional, default 1280) — Jumlah channel yang digunakan untuk embedding gambar. Jika None, tidak ada proyeksi yang digunakan.
  • added_kv_proj_dim (int, opsional, defaultnya 5120) — Jumlah kanal yang digunakan untuk proyeksi kunci dan nilai yang ditambahkan. Jika None, tidak ada proyeksi yang digunakan.

Model Transformer untuk data mirip video yang digunakan dalam model 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

Parameter

  • hidden_states (torch.Tensor dengan bentuk (B, 2C + 4, T + 1, H, W)) — Latent video berisik input dengan bentuk (B, 2C + 4, T + 1, H, W), di mana B adalah ukuran batch, C adalah jumlah kanal latent (16 untuk Wan VAE), T adalah jumlah frame latent dalam segmen inferensi, H adalah tinggi latent, dan W adalah lebar latent.
  • timestep — (torch.LongTensor): Langkah waktu (timestep) saat ini dalam loop denoising.
  • encoder_hidden_states (torch.Tensor) — Embedding teks dari text encoder (umT5 untuk Wan Animate).
  • encoder_hidden_states_image (torch.Tensor) — Fitur visual CLIP dari gambar referensi (karakter).
  • pose_hidden_states (torch.Tensor dengan bentuk (B, C, T, H, W)) — Latent video pose. TODO: deskripsi
  • face_pixel_values (torch.Tensor dengan bentuk (B, C', S, H', W')) — Video wajah dalam ruang piksel (bukan ruang laten). Biasanya C’ = 3 dan H’ serta W’ adalah tinggi/lebar video wajah dalam piksel. Di sini S adalah panjang segmen inferensi, yang biasanya diatur ke 77.
  • motion_encode_batch_size (int, opsional) — Ukuran batch untuk pengkodean batch video wajah melalui motion encoder. Akan secara default menjadi self.config.motion_encoder_batch_size jika tidak diatur.
  • return_dict (bool, opsional, default True) — Apakah mengembalikan output sebagai dict atau tuple.
  • attention_kwargs (dict, opsional) — Kamus kwargs yang jika ditentukan akan diteruskan ke AttentionProcessor seperti yang didefinisikan di bawah self.processor dalam diffusers.models.attention_processor.

Mengembalikan

~models.transformer_2d.Transformer2DModelOutput atau tuple

Jika return_dict bernilai True, sebuah ~models.transformer_2d.Transformer2DModelOutput yang sample berupa latent video yang telah didenoise akan dikembalikan, selain itu sebuah tuple biasa yang elemen pertamanya adalah tensor tersebut akan dikembalikan.

Forward pass dari model transformer Wan2.2-Animate.

Transformer2DModelOutput

kelas diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parameter

  • sample (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau (batch size, num_vector_embeds - 1, num_latent_pixels) jika Transformer2DModel bersifat diskrit) — Output hidden states yang dikondisikan pada input encoder_hidden_states. Jika diskrit, mengembalikan distribusi probabilitas untuk latent pixels yang tidak berisik.

Output dari Transformer2DModel.

Update on GitHub