# LuminaNextDiT2DModel

Версия модели Diffusion Transformer для 2D-данных от [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)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/lumina_nextdit2d.py#L178)

**Параметры:**

sample_size (`int`) : Ширина латентных изображений. Это значение фиксировано во время обучения, поскольку используется для обучения набора позиционных эмбеддингов.

patch_size (`int`, *optional*, (`int`, *optional*, по умолчанию 2) : Размер каждого патча на изображении. Этот параметр определяет разрешение патчей, передаваемых в модель.

in_channels (`int`, *optional*, по умолчанию 4) : Количество входных каналов для модели. Как правило, это значение совпадает с количеством каналов во входных изображениях.

hidden_size (`int`, *optional*, по умолчанию 4096) : Размерность скрытых слоёв в модели. Этот параметр определяет ширину скрытых представлений модели.

num_layers (`int`, *optional*, по умолчанию 32) : Количество слоёв в модели. Это определяет глубину нейронной сети.

num_attention_heads (`int`, *optional*, по умолчанию 32) : Количество головок внимания в каждом слое внимания. Этот параметр определяет, сколько отдельных механизмов внимания используется.

num_kv_heads (`int`, *optional*, по умолчанию 8) : Количество ключевых и value-голов в механизме внимания, если оно отличается от общего числа голов внимания. Если значение равно None, используется num_attention_heads.

multiple_of (`int`, *optional*, по умолчанию 256) : Множитель, кратным которому должен быть размер скрытого слоя. Это может помочь оптимизировать работу на определённых аппаратных конфигурациях.

ffn_dim_multiplier (`float`, *optional*) : Множитель для размерности полносвязной сети. Если значение равно None, используется значение по умолчанию, определяемое конфигурацией модели.

norm_eps (`float`, *optional*, по умолчанию 1e-5) : Малое значение, добавляемое к знаменателю для обеспечения численной стабильности в слоях нормализации.

learn_sigma (`bool`, *необязательный*, по умолчанию True) : Указывает, должна ли модель обучать параметр sigma, который может быть связан с неопределённостью или дисперсией в предсказаниях.

qk_norm (`bool`, *необязательный*, по умолчанию True) : Указывает, следует ли нормализовать запросы и ключи в механизме внимания.

cross_attention_dim (`int`, *optional*, по умолчанию 2048) : Размерность текстовых эмбеддингов. Этот параметр определяет размер текстовых представлений, используемых в модели.

scaling_factor (`float`, *optional*, по умолчанию 1.0) : Коэффициент масштабирования, применяемый к определённым параметрам или слоям модели. Его можно использовать для корректировки общего масштаба операций модели.

LuminaNextDiT: диффузионная модель с трансформерным каркасом.

Наследуйте ModelMixin и ConfigMixin, чтобы обеспечить совместимость с сэмплером StableDiffusionPipeline из 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)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/lumina_nextdit2d.py#L291)

**Параметры:**

hidden_states (torch.Tensor) : Входной тензор формы (N, C, H, W).

timestep (torch.Tensor) : тензор временных шагов диффузии формы (N,).

encoder_hidden_states (torch.Tensor) : тензор признаков подписей с формой (N, D).

encoder_mask (torch.Tensor) : тензор масок подписей формы (N, L).

image_rotary_emb (`torch.Tensor`) : Предварительно вычисленные вращательные позиционные эмбеддинги.

cross_attention_kwargs (`dict`, *необязательный*) : Словарь kwargs, который при указании передается в `AttentionProcessor`, определенный в `self.processor` в [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.transformer_2d.Transformer2DModelOutput` вместо обычного кортежа.

**Возвращает:** `~models.transformer_2d.Transformer2DModelOutput` или `tuple`

Если `return_dict` равно True, возвращается `~models.transformer_2d.Transformer2DModelOutput`, в противном случае возвращается обычный `tuple`.

Прямой проход LuminaNextDiT.

