# Lumina2Transformer2DModel

Un modelo Diffusion Transformer para datos de video 3D fue introducido en [Lumina Image 2.0](https://huggingface.co/Alpha-VLLM/Lumina-Image-2.0) por Alpha-VLLM.

El modelo se puede cargar con el siguiente fragmento de código.

```python
from diffusers import Lumina2Transformer2DModel

transformer = Lumina2Transformer2DModel.from_pretrained("Alpha-VLLM/Lumina-Image-2.0", subfolder="transformer", dtype=torch.bfloat16)
```

## Lumina2Transformer2DModel[[diffusers.Lumina2Transformer2DModel]]

#### diffusers.Lumina2Transformer2DModel[[diffusers.Lumina2Transformer2DModel]]

```python
diffusers.Lumina2Transformer2DModel(sample_size: int = 128, patch_size: int = 2, in_channels: int = 16, out_channels: int | None = None, hidden_size: int = 2304, num_layers: int = 26, num_refiner_layers: int = 2, num_attention_heads: int = 24, num_kv_heads: int = 8, multiple_of: int = 256, ffn_dim_multiplier: float | None = None, norm_eps: float = 1e-05, scaling_factor: float = 1.0, axes_dim_rope: tuple = (32, 32, 32), axes_lens: tuple = (300, 512, 512), cap_feat_dim: int = 1024)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_lumina2.py#L327)

**Parámetros:**

sample_size (`int`) : El ancho de las imágenes latentes. Esto se fija durante el entrenamiento, ya que se utiliza para aprender un número de embeddings de posición.

patch_size (`int`, *opcional*, (`int`, *opcional*, valor predeterminado 2) : El tamaño de cada parche en la imagen. Este parámetro define la resolución de los parches que se introducen en el modelo.

in_channels (`int`, *opcional*, valor predeterminado 4) : El número de canales de entrada para el modelo. Por lo general, coincide con el número de canales en las imágenes de entrada.

hidden_size (`int`, *opcional*, valor predeterminado 4096) : La dimensionalidad de las capas ocultas en el modelo. Este parámetro determina el ancho de las representaciones ocultas del modelo.

num_layers (`int`, *opcional*, valor predeterminado 32) : El número de capas en el modelo. Esto define la profundidad de la red neuronal.

num_attention_heads (`int`, *opcional*, valor predeterminado 32) : El número de cabezas de atención en cada capa de atención. Este parámetro especifica cuántos mecanismos de atención independientes se utilizan.

num_kv_heads (`int`, *opcional*, valor predeterminado 8) : El número de cabezas de clave-valor en el mecanismo de atención, si es diferente del número de cabezas de atención. Si es None, el valor predeterminado es num_attention_heads.

multiple_of (`int`, *opcional*, valor predeterminado 256) : Un factor del que el tamaño oculto debe ser múltiplo. Esto puede ayudar a optimizar ciertas configuraciones de hardware.

ffn_dim_multiplier (`float`, *opcional*) : Un multiplicador para la dimensionalidad de la red feed-forward. Si es None, utiliza un valor predeterminado basado en la configuración del modelo.

norm_eps (`float`, *opcional*, valor predeterminado 1e-5) : Un valor pequeño que se suma al denominador para la estabilidad numérica en las capas de normalización.

scaling_factor (`float`, *opcional*, valor predeterminado 1.0) : Un factor de escala aplicado a ciertos parámetros o capas del modelo. Esto se puede utilizar para ajustar la escala general de las operaciones del modelo.

Lumina2NextDiT: modelo de difusión con un backbone de Transformer.

#### forward[[diffusers.Lumina2Transformer2DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, encoder_attention_mask: Tensor, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_lumina2.py#L460)

**Parámetros:**

hidden_states (`torch.Tensor` de forma `(batch_size, in_channels, height, width)`) : `hidden_states` de entrada.

timestep (`torch.LongTensor`) : Se utiliza para indicar el paso de desruido.

encoder_hidden_states (`torch.Tensor` de forma `(batch_size, sequence_len, embed_dims)`) : Embeddings condicionales (embeddings calculados a partir de las condiciones de entrada, como los prompts) a utilizar.

encoder_attention_mask (`torch.Tensor`) : Máscara aplicada a `encoder_hidden_states` durante la atención.

attention_kwargs (`dict`, *opcional*) : Un diccionario de kwargs que, si se especifica, se pasa al `AttentionProcessor` tal como se define bajo `self.processor` en [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *opcional*, valor predeterminado `True`) : Indica si se debe devolver un `~models.transformer_2d.Transformer2DModelOutput` en lugar de una tupla simple.

**Devuelve:**

Si `return_dict` es True, se devuelve un `~models.transformer_2d.Transformer2DModelOutput`; en caso contrario, se devuelve una `tuple` cuyo primer elemento es el tensor de la muestra.

El método forward de [Lumina2Transformer2DModel](/docs/diffusers/main/es/api/models/lumina2_transformer2d#diffusers.Lumina2Transformer2DModel).

## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

#### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

```python
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L21)

**Parámetros:**

sample (`torch.Tensor` de forma `(batch_size, num_channels, height, width)` o `(batch size, num_vector_embeds - 1, num_latent_pixels)` si [Transformer2DModel](/docs/diffusers/main/es/api/models/transformer2d#diffusers.Transformer2DModel) es discreto): las salidas de estados ocultos condicionadas a la entrada `encoder_hidden_states`. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.

La salida de [Transformer2DModel](/docs/diffusers/main/es/api/models/transformer2d#diffusers.Transformer2DModel).

