Diffusers documentation

Krea2Transformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Krea2Transformer2DModel

O transformer de flow-matching MMDiT de fluxo único usado pelo Krea 2.

Krea2Transformer2DModel

classe diffusers.Krea2Transformer2DModel

< >

( in_channels: int = 64num_layers: int = 28attention_head_dim: int = 128num_attention_heads: int = 48num_key_value_heads: int = 12intermediate_size: int = 16384timestep_embed_dim: int = 256text_hidden_dim: int = 2560num_text_layers: int = 12text_num_attention_heads: int = 20text_num_key_value_heads: int = 20text_intermediate_size: int = 6912num_layerwise_text_blocks: int = 2num_refiner_text_blocks: int = 2axes_dims_rope: tuple = (32, 48, 48)rope_theta: float = 1000.0norm_eps: float = 1e-05 )

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 capturados 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 em toda a sequência de tokens.
  • axes_dims_rope (tuple[int, int, int], padrão (32, 48, 48)) — Divisão da dimensão da cabeça entre os eixos de posição rotacional (t, h, w).
  • rope_theta (float, padrão 1000.0) — Base usada 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

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: Tensorposition_ids: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, image_seq_len, in_channels)) — Latentes de imagem ruidosos empacotados (patchificados).
  • 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)) — (t, h, w) coordenadas rotativas 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 em vez de uma tupla simples.

Preveja a velocidade de flow-matching para os tokens da imagem.

Update on GitHub