Buckets:
| # AnyFlowTransformer3DModel | |
| 3D Transformer bidireksional yang digunakan oleh [`AnyFlowPipeline`](../pipelines/anyflow#diffusers.AnyFlowPipeline). Ini adalah backbone Wan2.1 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 peta aliran $\Phi_{r\leftarrow t}$ yang diperkenalkan dalam [AnyFlow](https://huggingface.co/papers/2605.13724). Lihat halaman [`AnyFlowPipeline`](../pipelines/anyflow) untuk makalah, penulis, dan checkpoint yang dirilis. | |
| Untuk generasi autoregresif per chunk (FAR kausal), gunakan [`AnyFlowFARTransformer3DModel`](anyflow_far_transformer3d) sebagai gantinya. | |
| ```python | |
| from diffusers import AnyFlowTransformer3DModel | |
| # Bidirectional AnyFlow checkpoint (T2V): | |
| transformer = AnyFlowTransformer3DModel.from_pretrained( | |
| "nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer" | |
| ) | |
| ``` | |
| ## AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]] | |
| #### diffusers.AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]] | |
| ```python | |
| diffusers.AnyFlowTransformer3DModel(patch_size: typing.Tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, eps: float = 1e-06, image_dim: typing.Optional[int] = None, rope_max_seq_len: int = 1024, gate_value: float = 0.25, deltatime_type: str = 'r') | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L507) | |
| **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_head_dim (*int*, defaultnya *128*) : Jumlah channel di setiap head. | |
| in_channels (*int*, defaultnya *16*) : Jumlah channel pada latent input. | |
| 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 penanaman 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*, defaultnya *None*) : Dimensi embedding gambar untuk kondisioning I2V (*1280* untuk model asli Wan2.1-I2V). | |
| rope_max_seq_len (*int*, defaultnya *1024*) : Panjang maksimum sekuens yang digunakan untuk pramenghitung frekuensi posisi rotasi. | |
| gate_value (*float*, defaultnya *0.25*) : Gerbang pencampuran antara embedding source-timestep dan delta-timestep (parameter \\(g\\) dari paper AnyFlow, ditetapkan pada 0.25 dalam distilasi tahap-1). | |
| deltatime_type (*str*, defaultnya *'r'*) : Sama dengan `"r"` (delta adalah target timestep) atau `"t-r"` (delta adalah interval absolut). | |
| Transformer 3D Bidireksional untuk pengambilan sampel flow-map AnyFlow. | |
| Arsitekturnya adalah tulang punggung Wan2.1 3D DiT v0.35.1 dengan satu perubahan struktural: pengumpan waktu (timestep embedder) diganti dengan `AnyFlowDualTimestepTextImageEmbedding` sehingga setiap panggilan forward dikondisikan pada pengumpan waktu sumber `t` dan pengumpan waktu target `r`. Ini adalah pengumpanan (embedding) yang diperlukan untuk mempelajari peta aliran \\(\Phi_{r\leftarrow t}\\) yang diperkenalkan dalam [AnyFlow](https://huggingface.co/papers/2605.13724). | |
| 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[[diffusers.AnyFlowTransformer3DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, timestep: Tensor, r_timestep: Tensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, return_dict: bool = True) | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L626) | |
| **Parameter:** | |
| hidden_states (*torch.Tensor* dengan bentuk *(batch_size, num_frames, num_channels, height, width)*) : Laten video input. | |
| timestep (*torch.Tensor*) : Langkah waktu (timestep) peta aliran sumber (lebih berisik) *t*. | |
| r_timestep (*torch.Tensor*) : Timestep *r* flow-map target (cleaner); mendefinisikan tujuan langkah flow-map. | |
| encoder_hidden_states (*torch.Tensor* dengan bentuk *(batch_size, sequence_len, embed_dims)*) : Embedding kondisi teks. | |
| encoder_hidden_states_image (*torch.Tensor*, *opsional*) : Embedding pengkondisian gambar; digabungkan sebelum token teks jika disediakan. | |
| attention_kwargs (*dict*, *opsional*) : Kwargs diteruskan ke *AttentionProcessor* seperti yang didefinisikan di bawah *self.processor* dalam [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| return_dict (*bool*, *opsional*, defaultnya *True*) : Apakah akan mengembalikan [*~models.transformer_2d.Transformer2DModelOutput*] alih-alih tuple biasa. | |
| **Mengembalikan:** | |
| [*~models.transformer_2d.Transformer2DModelOutput*] jika *return_dict* bernilai True, selain itu sebuah *tuple* yang elemen pertamanya adalah tensor kecepatan prediksi. | |
| Lalu maju (forward pass) peta aliran bidireksional. `hidden_states` disusun sebagai `(B, F, C, H, W)` (laten per bingkai). Input dipatch-kan dengan `patch_embedding` standar (kernel = stride = `patch_size`) dan didenoise dengan self-attention bidireksional global di atas urutan token datar yang dihasilkan. | |
Xet Storage Details
- Size:
- 6.11 kB
- Xet hash:
- 63bdf1812894e41bcf218902be491d6ca70588c2f068ace7297bd39f760d7b51
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.