Diffusers documentation
WanTransformer3DModel
WanTransformer3DModel
Model Diffusion Transformer untuk data video 3D diperkenalkan dalam Wan 2.1 oleh Alibaba Wan Team.
Model dapat dimuat dengan potongan kode berikut.
from diffusers import WanTransformer3DModel
transformer = WanTransformer3DModel.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)WanTransformer3DModel
kelas 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 )
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, defaultnya40) — Panjang tetap untuk embedding teks. - attention_head_dim (
int, defaultnya128) — Jumlah saluran di setiap head. - in_channels (
int, defaultnya16) — Jumlah channel pada input. - out_channels (
int, defaultnya16) — Jumlah channel pada output. - text_dim (
int, defaultnya512) — Dimensi input untuk embedding teks. - freq_dim (
int, defaultnya256) — Dimensi untuk embedding waktu sinusoidal. - ffn_dim (
int, defaultnya13824) — Dimensi perantara dalam jaringan feed-forward. - num_layers (
int, defaultnya40) — 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, defaultnyaTrue) — Aktifkan normalisasi cross-attention. - qk_norm (
bool, defaultnyaTrue) — Aktifkan normalisasi query/key. - eps (
float, defaultnya1e-6) — Nilai epsilon untuk lapisan normalisasi. - add_img_emb (
bool, defaultnyaFalse) — Apakah akan menggunakan img_emb. - added_kv_proj_dim (
int, opsional, defaultnyaNone) — Jumlah kanal yang digunakan untuk proyeksi key dan value yang ditambahkan. JikaNone, tidak ada proyeksi yang digunakan.
Model Transformer untuk data mirip video yang digunakan dalam model 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 )
Parameter
- hidden_states (
torch.Tensordengan bentuk(batch_size, num_channels, num_frames, height, width)) —hidden_statesmasukan. - timestep (
torch.LongTensor) — Digunakan untuk menunjukkan langkah denoising. - encoder_hidden_states (
torch.Tensordengan bentuk(batch_size, sequence_len, embed_dims)) — Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan. - encoder_hidden_states_image (
torch.Tensor, opsional) — Embedding gambar kondisional untuk generasi yang dikondisikan oleh gambar. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikan~models.transformer_2d.Transformer2DModelOutputalih-alih tuple biasa. - attention_kwargs (
dict, opsional) — Kamus kwargs yang jika ditentukan akan diteruskan keAttentionProcessorseperti yang didefinisikan di bawahself.processordalam diffusers.models.attention_processor.
Metode forward dari WanTransformer3DModel.
Transformer2DModelOutput
kelas diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parameter
- sample (
torch.Tensordengan 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 inputencoder_hidden_states. Jika diskrit, mengembalikan distribusi probabilitas untuk latent pixels yang tidak berisik.
Output dari Transformer2DModel.