# ZImageTransformer2DModel

Một mô hình Transformer cho dữ liệu dạng ảnh từ [Z-Image](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo).

## ZImageTransformer2DModel[[diffusers.ZImageTransformer2DModel]]

#### diffusers.ZImageTransformer2DModel[[diffusers.ZImageTransformer2DModel]]

```python
diffusers.ZImageTransformer2DModel(all_patch_size = (2,), all_f_patch_size = (1,), in_channels = 16, dim = 3840, n_layers = 30, n_refiner_layers = 2, n_heads = 30, n_kv_heads = 30, norm_eps = 1e-05, qk_norm = True, cap_feat_dim = 2560, siglip_feat_dim = None, rope_theta = 256.0, t_scale = 1000.0, axes_dims = [32, 48, 48], axes_lens = [1024, 512, 512])
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_z_image.py#L361)

#### forward[[diffusers.ZImageTransformer2DModel.forward]]

```python
forward(x: list[torch.Tensor, list[list[torch.Tensor]]], t, cap_feats: list[torch.Tensor, list[list[torch.Tensor]]], return_dict: bool = True, controlnet_block_samples: dict[int, torch.Tensor] | None = None, siglip_feats: list[list[torch.Tensor]] | None = None, image_noise_mask: list[list[int]] | None = None, patch_size: int = 2, f_patch_size: int = 1, joint_attention_kwargs: dict[str, typing.Any] | None = None)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_z_image.py#L896)

**Tham số:**

x (`list` của `torch.Tensor` hoặc `list` lồng nhau của `torch.Tensor`) : Latent đầu vào. Một danh sách phẳng khi chạy ở chế độ chuẩn, hoặc một danh sách lồng nhau khi chạy ở chế độ omni.

t (`torch.Tensor`) : Dùng để chỉ bước khử nhiễu.

cap_feats (`list` của `torch.Tensor` hoặc `list` lồng nhau của `torch.Tensor`) : Các embedding chú thích có điều kiện (các embedding được tính toán từ các điều kiện đầu vào như prompt) cần sử dụng.

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.

controlnet_block_samples (`dict` của `int` tới `torch.Tensor`, *tuỳ chọn*) : Một ánh xạ từ chỉ số khối tới tensor, nếu được chỉ định sẽ được cộng vào phần dư của các khối transformer.

siglip_feats (`list` của `list` của `torch.Tensor`, *tuỳ chọn*) : Các đặc trưng hình ảnh SigLIP tuỳ chọn được sử dụng như điều kiện bổ sung.

image_noise_mask (`list` của `list` của `int`, *tuỳ chọn*) : Mặt nạ nhiễu cho từng hình ảnh, chỉ ra các token nhiễu so với token sạch trong chế độ omni.

patch_size (`int`, *tuỳ chọn*, mặc định là 2) : Kích thước patch không gian được sử dụng để patchify các latents đầu vào.

f_patch_size (`int`, *optional*, mặc định là 1) : Kích thước patch thời gian được sử dụng để patchify các latents đầu vào.

joint_attention_kwargs (`dict`, *tùy chọn*) : Một từ điển kwargs. Chỉ mục `scale` được sử dụng, để điều chỉnh tỷ lệ các lớp LoRA.

**Trả về:**

Nếu `return_dict` là True, một `~models.transformer_2d.Transformer2DModelOutput` sẽ được trả về, ngược lại một `tuple` trong đó phần tử đầu tiên là tensor mẫu.

Phương thức forward của [ZImageTransformer2DModel](/docs/diffusers/v0.43.0/vi/api/models/z_image_transformer2d#diffusers.ZImageTransformer2DModel).

Flow: patchify -> t_embed -> x_embed -> x_refine -> cap_embed -> cap_refine -> [siglip_embed -> siglip_refine] -> build_unified -> main_layers -> final_layer -> unpatchify

#### patchify_and_embed[[diffusers.ZImageTransformer2DModel.patchify_and_embed]]

```python
patchify_and_embed(all_image: list[torch.Tensor], all_cap_feats: list[torch.Tensor], patch_size: int, f_patch_size: int)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_z_image.py#L590)

Patchify cho chế độ cơ bản: một hình ảnh cho mỗi mục trong lô.

#### patchify_and_embed_omni[[diffusers.ZImageTransformer2DModel.patchify_and_embed_omni]]

```python
patchify_and_embed_omni(all_x: list[list[torch.Tensor]], all_cap_feats: list[list[torch.Tensor]], all_siglip_feats: list[list[torch.Tensor]], patch_size: int, f_patch_size: int, images_noise_mask: list[list[int]])
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_z_image.py#L627)

Patchify cho chế độ omni: nhiều hình ảnh cho mỗi mục trong batch với các mặt nạ nhiễu.

