Buckets:
| # AnyFlowTransformer3DModel | |
| O Transformer 3D bidirecional usado por [`AnyFlowPipeline`](../pipelines/anyflow#diffusers.AnyFlowPipeline). Trata-se do backbone Wan2.1 da versão v0.35.1 com uma alteração estrutural: o incorporador de passo de tempo é substituído por ``AnyFlowDualTimestepTextImageEmbedding``, de modo que cada chamada de forward é condicionada tanto ao passo de tempo de origem ``t`` quanto ao passo de tempo de destino ``r``. Esta é a incorporação necessária para aprender o mapa de fluxo $\Phi_{r\leftarrow t}$ introduzido em [AnyFlow](https://huggingface.co/papers/2605.13724). Consulte a página do [`AnyFlowPipeline`](../pipelines/anyflow) para obter o artigo, os autores e os checkpoints liberados. | |
| Para geração autoregressiva por blocos (FAR causal), use [`AnyFlowFARTransformer3DModel`](anyflow_far_transformer3d) em vez disso. | |
| ```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') | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L507) | |
| **Parâmetros:** | |
| patch_size (*Tuple[int]*, padrão *(1, 2, 2)*) : dimensões do patch 3D para incorporação de vídeo (t_patch, h_patch, w_patch). | |
| num_attention_heads (*int*, padrão *40*) : Número de cabeças de atenção. | |
| attention_head_dim (*int*, padrão *128*) : O número de canais em cada head. | |
| in_channels (*int*, padrão *16*) : O número de canais no latente de entrada. | |
| out_channels (*int*, padrão *16*) : O número de canais no latente de saída. | |
| text_dim (*int*, padrão *4096*) : Dimensão de entrada para embeddings de texto (UMT5). | |
| freq_dim (*int*, padrão *256*) : Dimensão para embeddings de tempo sinusoidais. | |
| ffn_dim (*int*, padrão *13824*) : Dimensão intermediária na rede feed-forward. | |
| num_layers (*int*, padrão *40*) : Número de blocos de transformer. | |
| cross_attn_norm (*bool*, padrão *True*) : Ativa a normalização de atenção cruzada. | |
| eps (*float*, padrão *1e-6*) : Epsilon para as camadas de normalização. | |
| image_dim (*Optional[int]*, *opcional*, padrão *None*) : Dimensão do embedding de imagem para condicionamento I2V (*1280* para o modelo original Wan2.1-I2V). | |
| rope_max_seq_len (*int*, padrão *1024*) : Comprimento máximo da sequência usado para pré-computar as frequências de posição rotativa. | |
| gate_value (*float*, padrão *0.25*) : Porta de mistura entre as incorporações de timestep de origem e timestep delta (o parâmetro \\(g\\) do paper AnyFlow, fixado em 0,25 na destilação da etapa 1). | |
| deltatime_type (*str*, padrão *'r'*) : Ou `"r"` (delta é o passo de tempo alvo) ou `"t-r"` (delta é o intervalo absoluto). | |
| Transformador 3D bidirecional para amostragem de mapas de fluxo do AnyFlow. | |
| A arquitetura é o backbone Wan2.1 3D DiT da v0.35.1 com uma mudança estrutural: o incorporador de passo de tempo é substituído por `AnyFlowDualTimestepTextImageEmbedding` para que cada chamada de encaminhamento condicione tanto no passo de tempo de origem `t` quanto no passo de tempo de destino `r`. Esta é a incorporação necessária para aprender o mapa de fluxo \\(\Phi_{r\leftarrow t}\\) introduzido em [AnyFlow](https://huggingface.co/papers/2605.13724). | |
| Para geração autoregressiva por blocos (FAR causal), use `AnyFlowFARTransformer3DModel` em vez disso; essa variante adiciona a máscara de bloco causal FAR e um patch embedding de quadro comprimido sobre o mesmo backbone. | |
| #### 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) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L626) | |
| **Parâmetros:** | |
| hidden_states (*torch.Tensor* de forma *(batch_size, num_frames, num_channels, height, width)*) : Latentes de vídeo de entrada. | |
| timestep (*torch.Tensor*) : Passo de tempo *t* do fluxo-mapa de origem (mais ruidoso). | |
| r_timestep (*torch.Tensor*) : Timestep *r* (mais limpo) do flow-map de destino; define o destino do passo do flow-map. | |
| encoder_hidden_states (*torch.Tensor* de forma *(batch_size, sequence_len, embed_dims)*) : Embebimentos de condicionamento de texto. | |
| encoder_hidden_states_image (*torch.Tensor*, *opcional*) : Embebimentos de condicionamento por imagem; concatenados antes dos tokens de texto quando fornecidos. | |
| attention_kwargs (*dict*, *opcional*) : Kwargs encaminhados ao *AttentionProcessor* conforme definido em *self.processor* em [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| return_dict (*bool*, *opcional*, padrão *True*) : Se deve retornar um [*~models.transformer_2d.Transformer2DModelOutput*] em vez de uma tupla simples. | |
| **Retorna:** | |
| [*~models.transformer_2d.Transformer2DModelOutput*] se *return_dict* for True, caso contrário, uma *tuple* cujo primeiro elemento é o tensor de velocidade previsto. | |
| Passada direta do fluxo bidirecional de mapa de fluxo. `hidden_states` é organizado como `(B, F, C, H, W)` (latentes por quadro). A entrada é segmentada em patches com o padrão `patch_embedding` (kernel = stride = `patch_size`) e desruída com autoatenção global bidirecional sobre a sequência plana de tokens resultante. | |
Xet Storage Details
- Size:
- 6.25 kB
- Xet hash:
- 27a0ed36bb0415dd17be4e965dcf6f6b4cb6776fcb1369566ebb84eed88233a4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.