# ZImageTransformer2DModel

[Z-Image](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo)의 이미지형 데이터용 Transformer 모델입니다.

## 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])
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_z_image.py#L361)

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

```python
forward(x: list, t, cap_feats: list, 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)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_z_image.py#L896)

**매개변수:**

x (`list` of `torch.Tensor` or nested `list` of `torch.Tensor`) : Input latents. A flat list when running in standard mode, or a nested list when running in omni mode.

t (`torch.Tensor`) : 노이즈 제거 단계를 나타내는 데 사용됩니다.

cap_feats (`list` of `torch.Tensor` or nested `list` of `torch.Tensor`) : 사용할 조건부 캡션 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).

return_dict (`bool`, *선택 사항*, 기본값 `True`) : 일반 튜플 대신 `~models.transformer_2d.Transformer2DModelOutput`을 반환할지 여부.

controlnet_block_samples (`dict` of `int` to `torch.Tensor`, *선택 사항*) : 블록 인덱스를 텐서로 매핑하는 딕셔너리입니다. 지정된 경우 해당 텐서가 Transformer 블록의 잔차(residual)에 추가됩니다.

siglip_feats (`list` of `list` of `torch.Tensor`, *선택 사항*) : 추가 조건으로 사용되는 선택적 SigLIP 이미지 특징.

image_noise_mask (`list` of `list` of `int`, *선택 사항*) : omni 모드에서 노이즈 토큰과 클린 토큰을 나타내는 이미지별 노이즈 마스크.

patch_size (`int`, *선택 사항*, 기본값 2) : 입력 latents를 patchify하는 데 사용되는 공간 patch 크기입니다.

f_patch_size (`int`, *선택 사항*, 기본값 1) : 입력 latents를 patchify하는 데 사용되는 시간적 patch 크기입니다.

joint_attention_kwargs (`dict`, *선택 사항*) : kwargs 사전입니다. LoRA 레이어를 스케일링하기 위해 `scale` 항목만 사용됩니다.

**반환값:**

`return_dict`가 True이면 `~models.transformer_2d.Transformer2DModelOutput`이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 `tuple`이 반환됩니다.

[ZImageTransformer2DModel](/docs/diffusers/main/ko/api/models/z_image_transformer2d#diffusers.ZImageTransformer2DModel)의 forward 메서드입니다.

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, all_cap_feats: list, patch_size: int, f_patch_size: int)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_z_image.py#L590)

기본 모드용 Patchify: 배치 항목당 단일 이미지.

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

```python
patchify_and_embed_omni(all_x: list, all_cap_feats: list, all_siglip_feats: list, patch_size: int, f_patch_size: int, images_noise_mask: list)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_z_image.py#L627)

omni 모드용 Patchify: 노이즈 마스크를 가진 배치 항목당 여러 이미지.

