# StableCascadeUNet

Un modelo UNet del [Stable Cascade pipeline](../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)
```

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

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

**Parámetros:**

sample (`torch.Tensor`) : La muestra de entrada con ruido.

timestep_ratio (`torch.Tensor`) : Proporción de paso de tiempo utilizada para calcular la incrustación del paso de tiempo.

clip_text_pooled (`torch.Tensor`) : Embeddings de texto CLIP agrupados.

clip_text (`torch.Tensor`, *opcional*) : Embeddings de texto de CLIP a nivel de secuencia.

clip_img (`torch.Tensor`, *opcional*) : incrustaciones de imagen de CLIP.

effnet (`torch.Tensor`, *opcional*) : Mapa de características de EfficientNet utilizado como condicionamiento adicional.

pixels (`torch.Tensor`, *opcional*) : Tensor de condicionamiento a nivel de píxel. Si es `None`, se utiliza un tensor de ceros.

sca (`torch.Tensor`, *opcional*) : Valor de condicionamiento `sca` opcional utilizado para construir la incrustación del paso de tiempo.

crp (`torch.Tensor`, *opcional*) : Valor de condicionamiento `crp` opcional utilizado para construir la incrustación del paso de tiempo.

return_dict (`bool`, *opcional*, valor predeterminado `True`) : Indica si se debe devolver un `StableCascadeUNetOutput` en lugar de una tupla simple.

**Devuelve:**

Si `return_dict` es True, se devuelve un `StableCascadeUNetOutput`; en caso contrario, se devuelve una `tuple` cuyo primer elemento es el tensor de la muestra.

