# LuminaNextDiT2DModel

Phiên bản tiếp theo của mô hình Diffusion Transformer cho dữ liệu 2D từ [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)
```

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

**Tham số:**

sample_size (`int`) : Độ rộng của các ảnh tiềm ẩn. Giá trị này được cố định trong quá trình huấn luyện vì nó được dùng để học một số lượng embedding vị trí.

patch_size (`int`, *optional*, (`int`, *optional*, mặc định là 2) : Kích thước của mỗi patch trong ảnh. Tham số này xác định độ phân giải của các patch được đưa vào mô hình.

in_channels (`int`, *tuỳ chọn*, mặc định là 4) : Số lượng kênh đầu vào của mô hình. Thông thường, con số này khớp với số lượng kênh trong các hình ảnh đầu vào.

hidden_size (`int`, *optional*, mặc định là 4096) : Độ chiều của các lớp ẩn trong mô hình. Tham số này xác định độ rộng của các biểu diễn ẩn của mô hình.

num_layers (`int`, *tuỳ chọn*, mặc định là 32) : Số lượng lớp trong mô hình. Tham số này xác định độ sâu của mạng nơ-ron.

num_attention_heads (`int`, *tuỳ chọn*, mặc định là 32) : Số lượng đầu chú ý trong mỗi lớp chú ý. Tham số này chỉ định số lượng cơ chế chú ý riêng biệt được sử dụng.

num_kv_heads (`int`, *tuỳ chọn*, mặc định là 8) : Số lượng đầu key-value trong cơ chế chú ý, nếu khác với số lượng đầu chú ý. Nếu là None, giá trị mặc định sẽ là num_attention_heads.

multiple_of (`int`, *optional*, mặc định là 256) : Một hệ số mà kích thước ẩn phải là bội số của nó. Điều này có thể giúp tối ưu hóa một số cấu hình phần cứng nhất định.

ffn_dim_multiplier (`float`, *optional*) : Hệ số nhân cho chiều của mạng feed-forward. Nếu là None, nó sẽ sử dụng giá trị mặc định dựa trên cấu hình của mô hình.

norm_eps (`float`, *optional*, mặc định là 1e-5) : Một giá trị nhỏ được cộng vào mẫu số để đảm bảo ổn định số học trong các lớp chuẩn hóa.

learn_sigma (`bool`, *tùy chọn*, mặc định là True) : Xác định xem mô hình có nên học tham số sigma hay không, tham số này có thể liên quan đến độ bất định hoặc phương sai trong các dự đoán.

qk_norm (`bool`, *tùy chọn*, mặc định là True) : Chỉ định xem các truy vấn và khóa trong cơ chế chú ý có nên được chuẩn hóa hay không.

cross_attention_dim (`int`, *optional*, mặc định là 2048) : Độ cao của các vector nhúng văn bản. Tham số này xác định kích thước của các biểu diễn văn bản được sử dụng trong mô hình.

scaling_factor (`float`, *optional*, mặc định là 1.0) : Một hệ số tỷ lệ được áp dụng cho một số tham số hoặc lớp nhất định trong mô hình. Điều này có thể được sử dụng để điều chỉnh tỷ lệ tổng thể của các thao tác trong mô hình.

LuminaNextDiT: Mô hình khuếch tán với bộ khung Transformer.

Kế thừa ModelMixin và ConfigMixin để tương thích với trình lấy mẫu StableDiffusionPipeline của 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)
```

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

**Tham số:**

hidden_states (torch.Tensor) : Tensor đầu vào có hình dạng (N, C, H, W).

timestep (torch.Tensor) : Tensor chứa các bước khuếch tán (diffusion timesteps) có hình dạng (N,).

encoder_hidden_states (torch.Tensor) : Tensor của các đặc trưng mô tả có hình dạng (N, D).

encoder_mask (torch.Tensor) : Tensor của các mặt nạ chú thích có hình dạng (N, L).

image_rotary_emb (`torch.Tensor`) : Các embedding vị trí xoay đã được tính trước.

cross_attention_kwargs (`dict`, *tùy chọn*) : Một từ điển kwargs mà nếu được chỉ định sẽ được truyền đến `AttentionProcessor` như đã định nghĩa dưới `self.processor` trong [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *tùy chọn*, mặc định là `True`) : Có nên trả về một `~models.transformer_2d.Transformer2DModelOutput` thay vì một tuple thông thường hay không.

**Trả về:** `~models.transformer_2d.Transformer2DModelOutput` hoặc `tuple`

Nếu `return_dict` là True, một `~models.transformer_2d.Transformer2DModelOutput` sẽ được trả về, ngược lại một `tuple` thông thường sẽ được trả về.

Quá trình truyền thẳng của LuminaNextDiT.

