Diffusers documentation

AnyFlowTransformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AnyFlowTransformer3DModel

Transformer 3D bidireksional yang digunakan oleh AnyFlowPipeline. Ini adalah backbone Wan2.1 v0.35.1 dengan satu perubahan struktural: timestep embeddig diganti dengan AnyFlowDualTimestepTextImageEmbedding, sehingga setiap panggilan forward dikondisikan pada timestep sumber t dan timestep target r. Ini adalah embedding yang diperlukan untuk mempelajari flow map Φr←t\Phi_{r\leftarrow t} yang diperkenalkan dalam AnyFlow. Lihat halaman AnyFlowPipeline untuk paper, penulis, dan checkpoint yang dirilis.

Untuk generasi autoregresif per chunk (FAR kausal), gunakan AnyFlowFARTransformer3DModel sebagai gantinya.

from diffusers import AnyFlowTransformer3DModel

# Bidirectional AnyFlow checkpoint (T2V):
transformer = AnyFlowTransformer3DModel.from_pretrained(
    "nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer"
)

AnyFlowTransformer3DModel

kelas diffusers.AnyFlowTransformer3DModel

< >

( patch_size: typing.Tuple[int] = (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 = Trueeps: float = 1e-06image_dim: typing.Optional[int] = Nonerope_max_seq_len: int = 1024gate_value: float = 0.25deltatime_type: str = 'r' )

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) — Jumlah kepala perhatian (attention heads).
  • attention_head_dim (int, defaultnya 128) — Jumlah channel di setiap head.
  • in_channels (int, defaultnya 16) — Jumlah channel pada input latent.
  • out_channels (int, defaultnya 16) — Jumlah channel pada latent output.
  • text_dim (int, defaultnya 4096) — Dimensi input untuk embedding teks (UMT5).
  • 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 blok transformer.
  • cross_attn_norm (bool, defaultnya True) — Aktifkan normalisasi cross-attention.
  • eps (float, defaultnya 1e-6) — Epsilon untuk lapisan normalisasi.
  • image_dim (Optional[int], opsional, default None) — Dimensi embedding gambar untuk kondisioning I2V (1280 untuk model asli Wan2.1-I2V).
  • rope_max_seq_len (int, defaultnya 1024) — Panjang maksimum urutan yang digunakan untuk prahitung frekuensi posisi rotasi.
  • gate_value (float, default 0.25) — Gerbang pencampuran antara embedding source-timestep dan delta-timestep (parameter gg dari paper AnyFlow, dipatok pada 0.25 dalam distilasi tahap-1).
  • deltatime_type (str, defaultnya ‘r’) — Bisa "r" (delta adalah timestep target) atau "t-r" (delta adalah interval absolut).

Transformer 3D Bidireksional untuk pengambilan sampel flow-map AnyFlow.

Arsitekturnya adalah backbone Wan2.1 3D DiT v0.35.1 dengan satu perubahan struktural: timestep embeddig diganti dengan AnyFlowDualTimestepTextImageEmbedding sehingga setiap panggilan forward dikondisikan pada kedua timestep sumber t dan timestep target r. Ini adalah embedding yang diperlukan untuk mempelajari flow map Φr←t\Phi_{r\leftarrow t} yang diperkenalkan dalam AnyFlow.

Untuk generasi autoregresif per-chunk (FAR kausal), gunakan AnyFlowFARTransformer3DModel sebagai gantinya; varian tersebut menambahkan blok-mask kausal FAR dan patch embedding frame terkompresi di atas backbone yang sama.

forward

< >

( hidden_states: Tensortimestep: Tensorr_timestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True )

Parameter

  • hidden_states (torch.Tensor dengan bentuk (batch_size, num_frames, num_channels, height, width)) — Latens video input.
  • timestep (torch.Tensor) — Timestep t peta aliran sumber (lebih berisau).
  • r_timestep (torch.Tensor) — Timestep r (lebih bersih) dari flow-map target; mendefinisikan tujuan langkah flow-map.
  • encoder_hidden_states (torch.Tensor dengan bentuk (batch_size, sequence_len, embed_dims)) — Embedding kondisional teks.
  • encoder_hidden_states_image (torch.Tensor, opsional) — Embedding kondisioning gambar; digabungkan sebelum token teks saat disediakan.
  • attention_kwargs (dict, opsional) — Kwargs diteruskan ke AttentionProcessor seperti yang didefinisikan di bawah self.processor dalam diffusers.models.attention_processor.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan [~models.transformer_2d.Transformer2DModelOutput] alih-alih tuple biasa.

Lalu maju (forward pass) peta aliran bidireksional. hidden_states disusun sebagai (B, F, C, H, W) (laten per bingkai). Input di-patchify dengan patch_embedding standar (kernel = stride = patch_size) dan dinoised dengan self-attention bidireksional global di atas urutan token datar yang dihasilkan.

Update on GitHub