# StableCascadeUNet

来自 [Stable Cascade 流水线](../pipelines/stable_cascade) 的 UNet 模型。

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

[源代码](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)
```

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

**参数：**

sample (`torch.Tensor`)：带噪声的输入样本。

timestep_ratio (`torch.Tensor`) : 用于计算时间步嵌入的时间步比例。

clip_text_pooled (`torch.Tensor`) : 池化的 CLIP 文本嵌入。

clip_text (`torch.Tensor`, *可选*) : 序列级别的 CLIP 文本嵌入。

clip_img (`torch.Tensor`, *可选*) : CLIP 图像嵌入。

effnet (`torch.Tensor`, *可选*) : 用作额外条件输入的 EfficientNet 特征图。

pixels (`torch.Tensor`, *可选*) : 像素级条件张量。如果为 `None`，则使用全零张量。

sca (`torch.Tensor`, *可选*) : 用于构建时间步嵌入的可选 `sca` 条件值。

crp (`torch.Tensor`, *可选*) : 用于构建时间步嵌入的可选 `crp` 条件值。

return_dict (`bool`，*可选*，默认为 `True`)：是否返回 `StableCascadeUNetOutput` 而不是普通元组。

**返回值：**

如果 `return_dict` 为 True，则返回 `StableCascadeUNetOutput`，否则返回 `tuple`，其中第一个元素为样本张量。

