# StableCascadeUNet

Un modèle UNet issu du [pipeline Stable Cascade](../pipelines/stable_cascade).

## StableCascadeUNet[[diffusers.models.StableCascadeUNet]]

#### diffusers.models.StableCascadeUNet[[diffusers.models.StableCascadeUNet]]

```python
diffusers.models.StableCascadeUNet(in_channels: int = 16, out_channels: int = 16, timestep_ratio_embedding_dim: int = 64, patch_size: int = 1, conditioning_dim: int = 2048, block_out_channels: tuple[int, ...] = (2048, 2048), num_attention_heads: tuple[int, ...] = (32, 32), down_num_layers_per_block: tuple[int, ...] = (8, 24), up_num_layers_per_block: tuple[int, ...] = (24, 8), down_blocks_repeat_mappers: tuple[int] | None = (1, 1), up_blocks_repeat_mappers: tuple[int] | None = (1, 1), block_types_per_layer: tuple[tuple[str]] = (('SDCascadeResBlock', 'SDCascadeTimestepBlock', 'SDCascadeAttnBlock'), ('SDCascadeResBlock', 'SDCascadeTimestepBlock', 'SDCascadeAttnBlock')), clip_text_in_channels: int | None = None, clip_text_pooled_in_channels = 1280, clip_image_in_channels: int | None = None, clip_seq = 4, effnet_in_channels: int | None = None, pixel_mapper_in_channels: int | None = None, kernel_size = 3, dropout: float | tuple[float] = (0.1, 0.1), self_attn: bool | tuple[bool] = True, timestep_conditioning_type: tuple[str, ...] = ('sca', 'crp'), switch_level: tuple[bool] | None = None)
```

[Source](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/unets/unet_stable_cascade.py#L136)

#### forward[[diffusers.models.StableCascadeUNet.forward]]

```python
forward(sample, timestep_ratio, clip_text_pooled, clip_text = None, clip_img = None, effnet = None, pixels = None, sca = None, crp = None, return_dict = True)
```

[Source](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/unets/unet_stable_cascade.py#L538)

**Paramètres :**

sample (`torch.Tensor`) : L'échantillon d'entrée bruité.

timestep_ratio (`torch.Tensor`) : Ratio de pas de temps utilisé pour calculer l'incorporation du pas de temps.

clip_text_pooled (`torch.Tensor`) : Embeddings de texte CLIP agrégés.

clip_text (`torch.Tensor`, *facultatif*) : Embeddings de texte CLIP au niveau de la séquence.

clip_img (`torch.Tensor`, *facultatif*) : embeddings d'images CLIP.

effnet (`torch.Tensor`, *facultatif*) : carte de caractéristiques EfficientNet utilisée comme conditionnement supplémentaire.

pixels (`torch.Tensor`, *facultatif*) : Tenseur de conditionnement au niveau des pixels. Si `None`, un tenseur de zéros est utilisé.

sca (`torch.Tensor`, *facultatif*) : Valeur de conditionnement `sca` facultative utilisée pour construire l'embedding de timestep.

crp (`torch.Tensor`, *facultatif*) : Valeur de conditionnement `crp` facultative utilisée pour construire l'embedding de timestep.

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

**Retourne :**

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

