# LuminaNextDiT2DModel

Une version suivante du modèle Diffusion Transformer pour les données 2D de [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)
```

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

**Paramètres :**

sample_size (`int`) : La largeur des images latentes. Cette valeur est fixe pendant l'entraînement, car elle est utilisée pour apprendre un nombre d'embeddings de position.

patch_size (`int`, *facultatif*, (`int`, *facultatif*, valeur par défaut 2) : La taille de chaque patch dans l'image. Ce paramètre définit la résolution des patches fournis au modèle.

in_channels (`int`, *facultatif*, valeur par défaut 4) : Le nombre de canaux d'entrée pour le modèle. Généralement, cela correspond au nombre de canaux des images d'entrée.

hidden_size (`int`, *facultatif*, valeur par défaut 4096) : La dimensionnalité des couches cachées du modèle. Ce paramètre détermine la largeur des représentations cachées du modèle.

num_layers (`int`, *facultatif*, par défaut 32) : Le nombre de couches dans le modèle. Cela définit la profondeur du réseau de neurones.

num_attention_heads (`int`, *facultatif*, valeur par défaut 32) : Le nombre de têtes d'attention dans chaque couche d'attention. Ce paramètre spécifie le nombre de mécanismes d'attention distincts utilisés.

num_kv_heads (`int`, *facultatif*, valeur par défaut 8) : Le nombre de têtes de clé-valeur dans le mécanisme d'attention, s'il diffère du nombre de têtes d'attention. Si None, il est défini sur num_attention_heads.

multiple_of (`int`, *facultatif*, valeur par défaut 256) : Un facteur dont la taille cachée doit être un multiple. Cela peut aider à optimiser certaines configurations matérielles.

ffn_dim_multiplier (`float`, *facultatif*) : Un multiplicateur pour la dimensionnalité du réseau feed-forward. Si None, il utilise une valeur par défaut basée sur la configuration du modèle.

norm_eps (`float`, *facultatif*, par défaut 1e-5) : Une petite valeur ajoutée au dénominateur pour la stabilité numérique dans les couches de normalisation.

learn_sigma (`bool`, *facultatif*, valeur par défaut True) : Indique si le modèle doit apprendre le paramètre sigma, qui peut être lié à l'incertitude ou à la variance des prédictions.

qk_norm (`bool`, *facultatif*, valeur par défaut True) : Indique si les requêtes et les clés du mécanisme d'attention doivent être normalisées.

cross_attention_dim (`int`, *facultatif*, valeur par défaut 2048) : La dimensionnalité des embeddings de texte. Ce paramètre définit la taille des représentations de texte utilisées dans le modèle.

scaling_factor (`float`, *facultatif*, valeur par défaut 1.0) : Un facteur d'échelle appliqué à certains paramètres ou couches du modèle. Il peut être utilisé pour ajuster l'échelle globale des opérations du modèle.

LuminaNextDiT : modèle de diffusion avec un squelette Transformer.

Hériter de ModelMixin et ConfigMixin pour être compatible avec le sampler StableDiffusionPipeline de 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 = None, return_dict = True)
```

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

**Paramètres :**

hidden_states (torch.Tensor) : Tenseur d'entrée de forme (N, C, H, W).

timestep (torch.Tensor) : Tenseur des pas de diffusion de forme (N,).

encoder_hidden_states (torch.Tensor) : Tenseur des fonctionnalités de légende de forme (N, D).

encoder_mask (torch.Tensor) : Tenseur de masques de légendes de forme (N, L).

image_rotary_emb (`torch.Tensor`) : Incrustations positionnelles rotatives précalculées.

cross_attention_kwargs (`dict`, *facultatif*) : Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'`AttentionProcessor` tel que défini sous `self.processor` dans [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un `~models.transformer_2d.Transformer2DModelOutput` plutôt qu'un simple tuple.

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

Si `return_dict` est True, un `~models.transformer_2d.Transformer2DModelOutput` est renvoyé, sinon un simple `tuple` est renvoyé.

Passage avant de LuminaNextDiT.

