# LuminaNextDiT2DModel

Uma próxima versão do modelo Diffusion Transformer para dados 2D da [Lumina-T2X](https://github.com/Alpha-VLLM/Lumina-T2X).

## LuminaNextDiT2DModel[[diffusers.LuminaNextDiT2DModel]]

#### diffusers.LuminaNextDiT2DModel[[diffusers.LuminaNextDiT2DModel]]

```python
diffusers.LuminaNextDiT2DModel(sample_size: int = 128, patch_size: int | None = 2, in_channels: int | None = 4, hidden_size: int | None = 2304, num_layers: int | None = 32, num_attention_heads: int | None = 32, num_kv_heads: int | None = None, multiple_of: int | None = 256, ffn_dim_multiplier: float | None = None, norm_eps: float | None = 1e-05, learn_sigma: bool | None = True, qk_norm: bool | None = True, cross_attention_dim: int | None = 2048, scaling_factor: float | None = 1.0)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/lumina_nextdit2d.py#L178)

**Parâmetros:**

sample_size (`int`) : A largura das imagens latentes. Isso é fixo durante o treinamento, pois é usado para aprender um número de embeddings de posição.

patch_size (`int`, *opcional*, (`int`, *opcional*, padrão é 2) : O tamanho de cada patch na imagem. Este parâmetro define a resolução dos patches enviados ao modelo.

in_channels (`int`, *opcional*, padrão 4) : O número de canais de entrada para o modelo. Normalmente, isso corresponde ao número de canais nas imagens de entrada.

hidden_size (`int`, *opcional*, padrão 4096) : A dimensionalidade das camadas ocultas no modelo. Este parâmetro determina a largura das representações ocultas do modelo.

num_layers (`int`, *opcional*, padrão 32) : O número de camadas no modelo. Isso define a profundidade da rede neural.

num_attention_heads (`int`, *opcional*, padrão 32) : O número de cabeças de atenção em cada camada de atenção. Este parâmetro especifica quantos mecanismos de atenção separados são usados.

num_kv_heads (`int`, *opcional*, padrão 8) : O número de cabeças de chave-valor no mecanismo de atenção, se diferente do número de cabeças de atenção. Se for None, o padrão é num_attention_heads.

multiple_of (`int`, *opcional*, padrão 256) : Um fator pelo qual o tamanho oculto deve ser um múltiplo. Isso pode ajudar a otimizar certas configurações de hardware.

ffn_dim_multiplier (`float`, *opcional*) : Um multiplicador para a dimensionalidade da rede feed-forward. Se for None, usa um valor padrão com base na configuração do modelo.

norm_eps (`float`, *opcional*, padrão 1e-5) : Um valor pequeno adicionado ao denominador para estabilidade numérica nas camadas de normalização.

learn_sigma (`bool`, *opcional*, padrão True) : Se o modelo deve aprender o parâmetro sigma, que pode estar relacionado à incerteza ou variância nas previsões.

qk_norm (`bool`, *opcional*, padrão True) : Indica se as consultas e chaves no mecanismo de atenção devem ser normalizadas.

cross_attention_dim (`int`, *opcional*, padrão 2048) : A dimensionalidade dos embeddings de texto. Este parâmetro define o tamanho das representações de texto usadas no modelo.

scaling_factor (`float`, *opcional*, padrão 1.0) : Um fator de escala aplicado a certos parâmetros ou camadas no modelo. Isso pode ser usado para ajustar a escala geral das operações do modelo.

LuminaNextDiT: modelo de difusão com um backbone de Transformer.

Herde ModelMixin e ConfigMixin para ser compatível com o sampler StableDiffusionPipeline do diffusers.

#### forward[[diffusers.LuminaNextDiT2DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, encoder_mask: Tensor, image_rotary_emb: Tensor, cross_attention_kwargs: dict[str, typing.Any] = None, return_dict = True)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/lumina_nextdit2d.py#L291)

**Parâmetros:**

hidden_states (torch.Tensor) : Tensor de entrada com forma (N, C, H, W).

timestep (torch.Tensor) : Tensor dos passos de difusão com forma (N,).

encoder_hidden_states (torch.Tensor) : Tensor de recursos de legenda com forma (N, D).

encoder_mask (torch.Tensor) : Tensor de máscaras de legendas com forma (N, L).

image_rotary_emb (`torch.Tensor`) : Incorporações posicionais rotativas pré-computadas.

cross_attention_kwargs (`dict`, *opcional*) : Um dicionário de kwargs que, se especificado, é passado para o `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`) : Indica se deve retornar um `~models.transformer_2d.Transformer2DModelOutput` em vez de uma tupla simples.

**Retorna:** `~models.transformer_2d.Transformer2DModelOutput` ou `tuple`

Se `return_dict` for True, um `~models.transformer_2d.Transformer2DModelOutput` é retornado; caso contrário, uma `tuple` simples é retornada.

Passada para frente de LuminaNextDiT.

