# ZImageTransformer2DModel

Un modèle Transformer pour des données de type image de [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])
```

[Source](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)
```

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

**Paramètres :**

x (`list` de `torch.Tensor` ou `list` imbriquée de `torch.Tensor`) : Latents d'entrée. Une liste plate lors de l'exécution en mode standard, ou une liste imbriquée lors de l'exécution en mode omni.

t (`torch.Tensor`) : Utilisé pour indiquer l'étape de débruitage.

cap_feats (`list` de `torch.Tensor` ou `list` imbriquée de `torch.Tensor`) : embeddings de légendes conditionnelles (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un `~models.transformer_2d.Transformer2DModelOutput` plutôt qu'un simple tuple.

controlnet_block_samples (`dict` de `int` vers `torch.Tensor`, *facultatif*) : Un mappage de l'indice de bloc vers un tenseur qui, s'il est spécifié, est ajouté aux résidus des blocs de transformeur.

siglip_feats (`list` de `list` de `torch.Tensor`, *facultatif*) : Caractéristiques d'image SigLIP facultatives utilisées comme conditionnement supplémentaire.

image_noise_mask (`list` de `list` de `int`, *facultatif*) : Masques de bruit par image indiquant les jetons bruités par rapport aux jetons propres en mode omni.

patch_size (`int`, *facultatif*, valeur par défaut 2) : Taille de patch spatial utilisée pour patchifier les latents d'entrée.

f_patch_size (`int`, *facultatif*, valeur par défaut 1) : Taille du patch temporel utilisée pour patchifier les latents d'entrée.

joint_attention_kwargs (`dict`, *facultatif*) : Un dictionnaire de kwargs. Seule l'entrée `scale` est utilisée, pour mettre à l'échelle les couches LoRA.

**Retourne :**

Si `return_dict` est True, un `~models.transformer_2d.Transformer2DModelOutput` est renvoyé, sinon un `tuple` dont le premier élément est le tenseur d'échantillon.

La méthode forward du [ZImageTransformer2DModel](/docs/diffusers/v0.43.0/fr/api/models/z_image_transformer2d#diffusers.ZImageTransformer2DModel).

Flux : 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)
```

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

Patchify pour le mode de base : une seule image par élément du lot.

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

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

Patchify pour le mode omni : plusieurs images par élément de lot avec des masques de bruit.

