Buckets:
| # Krea2Transformer2DModel | |
| O transformer de flow-matching MMDiT de fluxo único usado pelo [Krea 2](https://github.com/krea-ai/krea-2). | |
| ## Krea2Transformer2DModel[[diffusers.Krea2Transformer2DModel]] | |
| #### diffusers.Krea2Transformer2DModel[[diffusers.Krea2Transformer2DModel]] | |
| ```python | |
| diffusers.Krea2Transformer2DModel(in_channels: int = 64, num_layers: int = 28, attention_head_dim: int = 128, num_attention_heads: int = 48, num_key_value_heads: int = 12, intermediate_size: int = 16384, timestep_embed_dim: int = 256, text_hidden_dim: int = 2560, num_text_layers: int = 12, text_num_attention_heads: int = 20, text_num_key_value_heads: int = 20, text_intermediate_size: int = 6912, num_layerwise_text_blocks: int = 2, num_refiner_text_blocks: int = 2, axes_dims_rope: tuple[int, int, int] = (32, 48, 48), rope_theta: float = 1000.0, norm_eps: float = 1e-05) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_krea2.py#L339) | |
| **Parâmetros:** | |
| in_channels (`int`, padrão 64) : Número de canais latentes após a patchification (`vae_channels * patch_size ** 2`). | |
| num_layers (`int`, padrão 28) : Número de blocos de transformer. | |
| attention_head_dim (`int`, padrão 128) : Dimensão de cada cabeça de atenção; o tamanho oculto total é `attention_head_dim * num_attention_heads`. | |
| num_attention_heads (`int`, padrão 48) : Número de cabeças de consulta. | |
| num_key_value_heads (`int`, padrão 12) : Número de cabeças de chave/valor para atenção de consulta agrupada. | |
| intermediate_size (`int`, padrão 16384) : Tamanho oculto do feed-forward do MLP SwiGLU dentro de cada bloco. | |
| timestep_embed_dim (`int`, padrão 256) : Largura do embedding sinusoidal de timestep antes do seu MLP. | |
| text_hidden_dim (`int`, padrão 2560) : Tamanho oculto do codificador de texto cujos estados ocultos são consumidos. | |
| num_text_layers (`int`, padrão 12) : Número de estados ocultos do codificador de texto amostrados e empilhados por token. | |
| text_num_attention_heads (`int`, padrão 20) : Número de cabeças de consulta nos blocos de fusão de texto. | |
| text_num_key_value_heads (`int`, padrão 20) : Número de cabeças de chave/valor nos blocos de fusão de texto. | |
| text_intermediate_size (`int`, padrão 6912) : Tamanho oculto do feed-forward do MLP SwiGLU dentro dos blocos de fusão de texto. | |
| num_layerwise_text_blocks (`int`, padrão 2) : Número de blocos de fusão de texto aplicados ao longo do eixo da camada tapada (por token). | |
| num_refiner_text_blocks (`int`, padrão 2) : Número de blocos de fusão de texto aplicados ao longo da sequência de tokens. | |
| axes_dims_rope (`tuple[int, int, int]`, padrão `(32, 48, 48)`) : Divisão do head-dim entre os eixos de posição rotativa (t, h, w). | |
| rope_theta (`float`, padrão 1000.0) : Base utilizada pelo incorporamento de posição rotativa. | |
| norm_eps (`float`, padrão 1e-5) : Epsilon usado por todos os módulos RMSNorm. | |
| O backbone de flow-matching MMDiT de fluxo único usado pelo pipeline Krea 2. | |
| A condicionamento por texto entra como uma pilha de estados ocultos extraídos de várias camadas de um codificador de texto multimodal. Um pequeno transformer de fusão de texto reduz o eixo das camadas e refina a sequência de tokens; o resultado é concatenado com os latentes de imagem em patches, formando uma única sequência `[text, image]` processada pelos blocos do transformer. O timestep condiciona cada bloco por meio de um vetor de modulação compartilhado, além de tabelas aprendidas por bloco. | |
| #### forward[[diffusers.Krea2Transformer2DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: Tensor, position_ids: Tensor, encoder_attention_mask: typing.Optional[torch.Tensor] = None, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_krea2.py#L456) | |
| **Parâmetros:** | |
| hidden_states (`torch.Tensor` de forma `(batch_size, image_seq_len, in_channels)`) : Latentes de imagem ruidosa empacotados (em patches). | |
| encoder_hidden_states (`torch.Tensor` de forma `(batch_size, text_seq_len, num_text_layers, text_hidden_dim)`) : Pilha de estados ocultos do codificador de texto capturados por token. | |
| timestep (`torch.Tensor` de forma `(batch_size,)`) : Tempo de flow-matching em `[0, 1]` (1 é ruído puro, 0 é dados limpos). | |
| position_ids (`torch.Tensor` de forma `(text_seq_len + image_seq_len, 3)`) : coordenadas rotativas `(t, h, w)` para a sequência combinada. As linhas de texto são todas zero; as linhas de imagem contêm as coordenadas da grade latente. | |
| encoder_attention_mask (`torch.Tensor` de forma `(batch_size, text_seq_len)`, *opcional*) : Máscara booleana que marca os tokens de texto válidos. Passe `None` quando todos os tokens de texto forem válidos. | |
| attention_kwargs (`dict`, *opcional*) : Um dicionário de kwargs que, quando contém uma entrada `scale`, define a escala LoRA aplicada aos adaptadores deste transformer durante a passagem de frente. | |
| return_dict (`bool`, *opcional*, padrão `True`) : Se deve retornar um [Transformer2DModelOutput](/docs/diffusers/main/pt/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) em vez de uma tupla simples. | |
| **Retorna:** | |
| [Transformer2DModelOutput](/docs/diffusers/main/pt/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) ou uma `tuple` cujo primeiro elemento é o tensor de velocidade com a forma `(batch_size, image_seq_len, in_channels)`. | |
| Preveja a velocidade de flow-matching para os tokens da imagem. | |
Xet Storage Details
- Size:
- 5.69 kB
- Xet hash:
- d76178fb0cafc5e0b3ae2d635e204522c38bef711105d551c76cfd6544dd3858
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.