# 注意力处理器

注意力处理器是一个用于应用不同类型注意力机制的类。

## AttnProcessor[[diffusers.models.attention_processor.AttnProcessor]]

#### diffusers.models.attention_processor.AttnProcessor[[diffusers.models.attention_processor.AttnProcessor]]

```python
diffusers.models.attention_processor.AttnProcessor()
```

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

用于执行注意力相关计算的默认处理器。

#### diffusers.models.attention_processor.AttnProcessor2_0[[diffusers.models.attention_processor.AttnProcessor2_0]]

```python
diffusers.models.attention_processor.AttnProcessor2_0()
```

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

用于实现缩放点积注意力机制的处理器（如果您使用的是 PyTorch 2.0，则默认启用）。

#### diffusers.models.attention_processor.AttnAddedKVProcessor[[diffusers.models.attention_processor.AttnAddedKVProcessor]]

```python
diffusers.models.attention_processor.AttnAddedKVProcessor()
```

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

用于执行注意力相关计算的处理器，为文本编码器配备了额外的可学习键和值矩阵。

#### diffusers.models.attention_processor.AttnAddedKVProcessor2_0[[diffusers.models.attention_processor.AttnAddedKVProcessor2_0]]

```python
diffusers.models.attention_processor.AttnAddedKVProcessor2_0()
```

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

用于执行缩放点积注意力（如果您使用的是 PyTorch 2.0，则默认启用）的处理器，并为文本编码器添加了额外的可学习键和值矩阵。

#### diffusers.models.attention_processor.AttnProcessorNPU[[diffusers.models.attention_processor.AttnProcessorNPU]]

```python
diffusers.models.attention_processor.AttnProcessorNPU()
```

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

用于在 torch_npu 上实现 flash attention 的 Processor。Torch_npu 仅支持 fp16 和 bf16 数据类型。如果使用 fp32，将使用 F.scaled_dot_product_attention 进行计算，但在 NPU 上的加速效果并不显著。

#### diffusers.models.attention_processor.FusedAttnProcessor2_0[[diffusers.models.attention_processor.FusedAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FusedAttnProcessor2_0()
```

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

用于实现缩放点积注意力机制的处理器（如果您使用的是 PyTorch 2.0，则默认启用）。它使用融合投影层。对于自注意力模块，所有投影矩阵（即 query、key、value）均被融合。对于交叉注意力模块，key 和 value 投影矩阵被融合。

> [!WARNING] > 此 API 目前仍处于 🧪 实验阶段，未来可能会发生变化。

## Allegro[[diffusers.models.attention_processor.AllegroAttnProcessor2_0]]

#### diffusers.models.attention_processor.AllegroAttnProcessor2_0[[diffusers.models.attention_processor.AllegroAttnProcessor2_0]]

```python
diffusers.models.attention_processor.AllegroAttnProcessor2_0()
```

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

用于实现缩放点积注意力机制的处理器（如果您使用的是 PyTorch 2.0，则默认启用）。该处理器在 Allegro 模型中使用。它会对查询向量和键向量应用归一化层和旋转嵌入。

## AuraFlow[[diffusers.models.attention_processor.AuraFlowAttnProcessor2_0]]

#### diffusers.models.attention_processor.AuraFlowAttnProcessor2_0[[diffusers.models.attention_processor.AuraFlowAttnProcessor2_0]]

```python
diffusers.models.attention_processor.AuraFlowAttnProcessor2_0()
```

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

通常用于处理 Aura Flow 的注意力处理器。

#### diffusers.models.attention_processor.FusedAuraFlowAttnProcessor2_0[[diffusers.models.attention_processor.FusedAuraFlowAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FusedAuraFlowAttnProcessor2_0()
```

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

Attention processor 通常用于处理 Aura Flow，并采用融合投影。

## CogVideoX[[diffusers.models.attention_processor.CogVideoXAttnProcessor2_0]]

#### diffusers.models.attention_processor.CogVideoXAttnProcessor2_0[[diffusers.models.attention_processor.CogVideoXAttnProcessor2_0]]

```python
diffusers.models.attention_processor.CogVideoXAttnProcessor2_0()
```

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

用于在 CogVideoX 模型中实现缩放点积注意力的处理器。它对查询向量和键向量应用旋转嵌入，但不包含空间归一化。

#### diffusers.models.attention_processor.FusedCogVideoXAttnProcessor2_0[[diffusers.models.attention_processor.FusedCogVideoXAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FusedCogVideoXAttnProcessor2_0()
```

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

用于在 CogVideoX 模型中实现缩放点积注意力的处理器。它对查询向量和键向量应用旋转嵌入，但不包含空间归一化。

## DreamLite[[diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0]]

#### diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0[[diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0]]

```python
diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0()
```

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

用于实现支持分组查询注意力（GQA / MQA）的缩放点积注意力的处理器。

与 `AttnProcessor2_0` 相同，但 key/value 的 reshape 分支通过先将 K/V reshape 为 `kv_heads`，再使用 `repeat_interleave` 将其扩展至 `attn.heads`，从而正确处理 `attn.kv_heads != attn.heads` 的情况。DreamLite UNet 需要此行为，因为它将 GQA 与 `qk_norm` 结合使用，而默认的 `AttnProcessor2_0` 无法处理这种组合。SDPA 委托给 `dispatch_attention_fn`，因此可以使用 diffusers 的任何注意力后端（原生 PyTorch SDPA、FlashAttention 等）。

## Custom Diffusion[[diffusers.models.attention_processor.CustomDiffusionAttnProcessor]]

#### diffusers.models.attention_processor.CustomDiffusionAttnProcessor[[diffusers.models.attention_processor.CustomDiffusionAttnProcessor]]

```python
diffusers.models.attention_processor.CustomDiffusionAttnProcessor(train_kv: bool = True, train_q_out: bool = True, hidden_size: int | None = None, cross_attention_dim: int | None = None, out_bias: bool = True, dropout: float = 0.0)
```

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

**参数：**

train_kv (`bool`，默认为 `True`)：是否对新训练与文本特征对应的键矩阵和值矩阵。

train_q_out (`bool`，默认为 `True`)：是否重新训练与潜在图像特征对应的查询矩阵。

hidden_size (`int`，*可选*，默认为 `None`)：注意力层的隐藏层大小。

cross_attention_dim (`int`，*可选*，默认为 `None`)：`encoder_hidden_states` 中的通道数。

out_bias (`bool`，默认为 `True`)：是否在 `train_q_out` 中包含偏置参数。

dropout (`float`，*可选*，默认值为 0.0)：要使用的 dropout 概率。

用于实现 Custom Diffusion 方法中注意力机制的处理器。

#### diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0[[diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0]]

```python
diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0(train_kv: bool = True, train_q_out: bool = True, hidden_size: int | None = None, cross_attention_dim: int | None = None, out_bias: bool = True, dropout: float = 0.0)
```

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

**参数：**

train_kv (`bool`，默认为 `True`)：是否对新训练与文本特征对应的键矩阵和值矩阵。

train_q_out (`bool`，默认为 `True`)：是否重新训练与潜在图像特征对应的查询矩阵。

hidden_size (`int`，*可选*，默认为 `None`)：注意力层的隐藏层大小。

cross_attention_dim (`int`，*可选*，默认为 `None`)：`encoder_hidden_states` 中的通道数。

out_bias (`bool`，默认为 `True`)：是否在 `train_q_out` 中包含偏置参数。

dropout (`float`，*可选*，默认值为 0.0)：要使用的 dropout 概率。

用于使用 PyTorch 2.0 的内存高效缩放点积注意力来实现 Custom Diffusion 方法中注意力机制的处理器。

#### diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor[[diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor]]

```python
diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor(train_kv: bool = True, train_q_out: bool = False, hidden_size: int | None = None, cross_attention_dim: int | None = None, out_bias: bool = True, dropout: float = 0.0, attention_op: Callable | None = None)
```

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

**参数：**

train_kv (`bool`，默认为 `True`)：是否对新训练与文本特征对应的键矩阵和值矩阵。

train_q_out (`bool`，默认为 `True`)：是否重新训练与潜在图像特征对应的查询矩阵。

hidden_size (`int`，*可选*，默认为 `None`)：注意力层的隐藏层大小。

cross_attention_dim (`int`，*可选*，默认为 `None`)：`encoder_hidden_states` 中的通道数。

out_bias (`bool`，默认为 `True`)：是否在 `train_q_out` 中包含偏置参数。

dropout (`float`，*可选*，默认值为 0.0)：要使用的 dropout 概率。

attention_op (`Callable`，*可选*，默认为 `None`)：用作注意力算子的基础 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)。建议将其设置为 `None`，让 xFormers 自动选择最佳算子。

用于在 Custom Diffusion 方法中通过 xFormers 实现内存高效注意力的处理器。

## Flux[[diffusers.models.attention_processor.FluxAttnProcessor2_0]]

#### diffusers.models.attention_processor.FluxAttnProcessor2_0[[diffusers.models.attention_processor.FluxAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FluxAttnProcessor2_0(*args, **kwargs)
```

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

#### diffusers.models.attention_processor.FusedFluxAttnProcessor2_0[[diffusers.models.attention_processor.FusedFluxAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FusedFluxAttnProcessor2_0(*args, **kwargs)
```

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

#### diffusers.models.attention_processor.FluxSingleAttnProcessor2_0[[diffusers.models.attention_processor.FluxSingleAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FluxSingleAttnProcessor2_0(*args, **kwargs)
```

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

用于实现缩放点积注意力机制的处理器（如果您使用的是 PyTorch 2.0，则默认启用）。

## Hunyuan[[diffusers.models.attention_processor.HunyuanAttnProcessor2_0]]

#### diffusers.models.attention_processor.HunyuanAttnProcessor2_0[[diffusers.models.attention_processor.HunyuanAttnProcessor2_0]]

```python
diffusers.models.attention_processor.HunyuanAttnProcessor2_0()
```

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

用于实现缩放点积注意力机制的处理器（如果使用 PyTorch 2.0，则默认启用）。该处理器在 HunyuanDiT 模型中使用。它对查询向量和键向量应用了 s 归一化层以及旋转位置编码。

#### diffusers.models.attention_processor.FusedHunyuanAttnProcessor2_0[[diffusers.models.attention_processor.FusedHunyuanAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FusedHunyuanAttnProcessor2_0()
```

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

用于实现缩放点积注意力（如果您使用的是 PyTorch 2.0，则默认启用）的处理器，并带有融合投影层。这用于 HunyuanDiT 模型。它对查询和键向量应用 s 归一化层和旋转嵌入。

#### diffusers.models.attention_processor.PAGHunyuanAttnProcessor2_0[[diffusers.models.attention_processor.PAGHunyuanAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGHunyuanAttnProcessor2_0()
```

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

用于实现缩放点积注意力（如果使用 PyTorch 2.0，则默认启用）的处理器。该处理器在 HunyuanDiT 模型中使用。它对查询和键向量应用归一化层和旋转嵌入。此处理器变体采用了 [Pertubed Attention Guidance](https://huggingface.co/papers/2403.17377)。

#### diffusers.models.attention_processor.PAGCFGHunyuanAttnProcessor2_0[[diffusers.models.attention_processor.PAGCFGHunyuanAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGCFGHunyuanAttnProcessor2_0()
```

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

用于实现缩放点积注意力（如果使用 PyTorch 2.0，则默认启用）的处理器。该处理器在 HunyuanDiT 模型中使用。它对查询和键向量应用归一化层和旋转嵌入。此处理器变体采用了 [Pertubed Attention Guidance](https://huggingface.co/papers/2403.17377)。

## IdentitySelfAttnProcessor2_0[[diffusers.models.attention_processor.PAGIdentitySelfAttnProcessor2_0]]

#### diffusers.models.attention_processor.PAGIdentitySelfAttnProcessor2_0[[diffusers.models.attention_processor.PAGIdentitySelfAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGIdentitySelfAttnProcessor2_0()
```

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

用于实现 PAG 的处理器，采用缩放点积注意力（如果您使用的是 PyTorch 2.0，则默认启用）。PAG 参考：https://huggingface.co/papers/2403.17377

#### diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0[[diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0()
```

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

用于实现 PAG 的处理器，采用缩放点积注意力（如果您使用的是 PyTorch 2.0，则默认启用）。PAG 参考：https://huggingface.co/papers/2403.17377

## IP-Adapter[[diffusers.models.attention_processor.IPAdapterAttnProcessor]]

#### diffusers.models.attention_processor.IPAdapterAttnProcessor[[diffusers.models.attention_processor.IPAdapterAttnProcessor]]

```python
diffusers.models.attention_processor.IPAdapterAttnProcessor(hidden_size, cross_attention_dim = None, num_tokens = (4,), scale = 1.0)
```

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

**参数：**

hidden_size (`int`) : 注意力层的隐藏层大小。

cross_attention_dim (`int`) : `encoder_hidden_states` 中的通道数。

num_tokens (`int`、`tuple[int]` 或 `list[int]`，默认为 `(4,)`)：图像特征的上下文长度。

scale (`float` 或 list`float`，默认为 1.0)：图像提示的权重缩放。

用于多个 IP-Adapter 的注意力处理器。

#### diffusers.models.attention_processor.IPAdapterAttnProcessor2_0[[diffusers.models.attention_processor.IPAdapterAttnProcessor2_0]]

```python
diffusers.models.attention_processor.IPAdapterAttnProcessor2_0(hidden_size, cross_attention_dim = None, num_tokens = (4,), scale = 1.0)
```

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

**参数：**

hidden_size (`int`) : 注意力层的隐藏层大小。

cross_attention_dim (`int`) : `encoder_hidden_states` 中的通道数。

num_tokens (`int`、`tuple[int]` 或 `list[int]`，默认为 `(4,)`)：图像特征的上下文长度。

scale (`float` 或 `list[float]`，默认为 1.0)：图像提示的权重缩放。

用于 PyTorch 2.0 的 IP-Adapter 注意力处理器。

#### diffusers.models.attention_processor.SD3IPAdapterJointAttnProcessor2_0[[diffusers.models.attention_processor.SD3IPAdapterJointAttnProcessor2_0]]

```python
diffusers.models.attention_processor.SD3IPAdapterJointAttnProcessor2_0(hidden_size: int, ip_hidden_states_dim: int, head_dim: int, timesteps_emb_dim: int = 1280, scale: float = 0.5)
```

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

**参数：**

hidden_size (`int`) : 隐藏通道的数量。

ip_hidden_states_dim (`int`) : 图像特征维度。

head_dim (`int`) : 头通道的数量。

timesteps_emb_dim (`int`，默认为 1280)：时间步嵌入的输入通道数。

scale (`float`，默认值为 0.5)：IP-Adapter 缩放比例。

用于 IP-Adapter 的注意力处理器，通常用于处理类似 SD3 的自注意力投影，并额外包含基于图像的信息和时间步嵌入。

## JointAttnProcessor2_0[[diffusers.models.attention_processor.JointAttnProcessor2_0]]

#### diffusers.models.attention_processor.JointAttnProcessor2_0[[diffusers.models.attention_processor.JointAttnProcessor2_0]]

```python
diffusers.models.attention_processor.JointAttnProcessor2_0()
```

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

通常用于处理 SD3 类自注意力投影的注意力处理器。

#### diffusers.models.attention_processor.PAGJointAttnProcessor2_0[[diffusers.models.attention_processor.PAGJointAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGJointAttnProcessor2_0()
```

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

通常用于处理 SD3 类自注意力投影的注意力处理器。

#### diffusers.models.attention_processor.PAGCFGJointAttnProcessor2_0[[diffusers.models.attention_processor.PAGCFGJointAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGCFGJointAttnProcessor2_0()
```

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

通常用于处理 SD3 类自注意力投影的注意力处理器。

#### diffusers.models.attention_processor.FusedJointAttnProcessor2_0[[diffusers.models.attention_processor.FusedJointAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FusedJointAttnProcessor2_0()
```

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

通常用于处理 SD3 类自注意力投影的注意力处理器。

## LoRA[[diffusers.models.attention_processor.LoRAAttnProcessor]]

#### diffusers.models.attention_processor.LoRAAttnProcessor[[diffusers.models.attention_processor.LoRAAttnProcessor]]

```python
diffusers.models.attention_processor.LoRAAttnProcessor()
```

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

用于实现带有 LoRA 的注意力的处理器。

#### diffusers.models.attention_processor.LoRAAttnProcessor2_0[[diffusers.models.attention_processor.LoRAAttnProcessor2_0]]

```python
diffusers.models.attention_processor.LoRAAttnProcessor2_0()
```

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

用于实现注意力机制的处理器，支持 LoRA（如果您使用的是 PyTorch 2.0，则默认启用）。

#### diffusers.models.attention_processor.LoRAAttnAddedKVProcessor[[diffusers.models.attention_processor.LoRAAttnAddedKVProcessor]]

```python
diffusers.models.attention_processor.LoRAAttnAddedKVProcessor()
```

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

用于实现带有 LoRA 的注意力机制的处理器，为文本编码器额外引入了可学习的键矩阵和值矩阵。

#### diffusers.models.attention_processor.LoRAXFormersAttnProcessor[[diffusers.models.attention_processor.LoRAXFormersAttnProcessor]]

```python
diffusers.models.attention_processor.LoRAXFormersAttnProcessor()
```

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

用于使用 xFormers 实现带 LoRA 的注意力的处理器。

## Lumina-T2X[[diffusers.models.attention_processor.LuminaAttnProcessor2_0]]

#### diffusers.models.attention_processor.LuminaAttnProcessor2_0[[diffusers.models.attention_processor.LuminaAttnProcessor2_0]]

```python
diffusers.models.attention_processor.LuminaAttnProcessor2_0()
```

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

用于实现缩放点积注意力机制的处理器（如果您使用的是 PyTorch 2.0，则默认启用）。该处理器在 LuminaNextDiT 模型中使用。它对查询和键向量应用 s 归一化层和旋转嵌入。

## Mochi[[diffusers.models.attention_processor.MochiAttnProcessor2_0]]

#### diffusers.models.attention_processor.MochiAttnProcessor2_0[[diffusers.models.attention_processor.MochiAttnProcessor2_0]]

```python
diffusers.models.attention_processor.MochiAttnProcessor2_0()
```

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

在 Mochi 中使用的注意力处理器。

#### diffusers.models.attention_processor.MochiVaeAttnProcessor2_0[[diffusers.models.attention_processor.MochiVaeAttnProcessor2_0]]

```python
diffusers.models.attention_processor.MochiVaeAttnProcessor2_0()
```

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

在 Mochi VAE 中使用的注意力处理器。

## Sana[[diffusers.models.attention_processor.SanaLinearAttnProcessor2_0]]

#### diffusers.models.attention_processor.SanaLinearAttnProcessor2_0[[diffusers.models.attention_processor.SanaLinearAttnProcessor2_0]]

```python
diffusers.models.attention_processor.SanaLinearAttnProcessor2_0()
```

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

用于实现缩放点积线性注意力的处理器。

#### diffusers.models.attention_processor.SanaMultiscaleAttnProcessor2_0[[diffusers.models.attention_processor.SanaMultiscaleAttnProcessor2_0]]

```python
diffusers.models.attention_processor.SanaMultiscaleAttnProcessor2_0()
```

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

用于实现多尺度二次注意力的处理器。

#### diffusers.models.attention_processor.PAGCFGSanaLinearAttnProcessor2_0[[diffusers.models.attention_processor.PAGCFGSanaLinearAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGCFGSanaLinearAttnProcessor2_0()
```

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

用于实现缩放点积线性注意力的处理器。

#### diffusers.models.attention_processor.PAGIdentitySanaLinearAttnProcessor2_0[[diffusers.models.attention_processor.PAGIdentitySanaLinearAttnProcessor2_0]]

```python
diffusers.models.attention_processor.PAGIdentitySanaLinearAttnProcessor2_0()
```

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

用于实现缩放点积线性注意力的处理器。

## Stable Audio[[diffusers.models.attention_processor.StableAudioAttnProcessor2_0]]

#### diffusers.models.attention_processor.StableAudioAttnProcessor2_0[[diffusers.models.attention_processor.StableAudioAttnProcessor2_0]]

```python
diffusers.models.attention_processor.StableAudioAttnProcessor2_0()
```

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

用于实现缩放点积注意力机制的处理器（如果您使用的是 PyTorch 2.0，则默认启用）。该处理器在 Stable Audio 模型中使用。它对查询和键向量应用旋转嵌入，并支持 MHA、GQA 或 MQA。

## SlicedAttnProcessor[[diffusers.models.attention_processor.SlicedAttnProcessor]]

#### diffusers.models.attention_processor.SlicedAttnProcessor[[diffusers.models.attention_processor.SlicedAttnProcessor]]

```python
diffusers.models.attention_processor.SlicedAttnProcessor(slice_size: int)
```

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

**参数：**

slice_size (`int`, *可选*) : 计算注意力所需的步数。使用的切片数量为 `attention_head_dim // slice_size`，且 `attention_head_dim` 必须是 `slice_size` 的整数倍。

用于实现切片注意力的处理器。

#### diffusers.models.attention_processor.SlicedAttnAddedKVProcessor[[diffusers.models.attention_processor.SlicedAttnAddedKVProcessor]]

```python
diffusers.models.attention_processor.SlicedAttnAddedKVProcessor(slice_size)
```

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

**参数：**

slice_size (`int`, *可选*) : 计算注意力所需的步数。使用的切片数量为 `attention_head_dim // slice_size`，且 `attention_head_dim` 必须是 `slice_size` 的整数倍。

用于实现切片注意力机制的处理器，为文本编码器额外引入了可学习的键矩阵和值矩阵。

## XFormersAttnProcessor[[diffusers.models.attention_processor.XFormersAttnProcessor]]

#### diffusers.models.attention_processor.XFormersAttnProcessor[[diffusers.models.attention_processor.XFormersAttnProcessor]]

```python
diffusers.models.attention_processor.XFormersAttnProcessor(attention_op: Callable | None = None)
```

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

**参数：**

attention_op (`Callable`，*可选*，默认为 `None`)：用作注意力算子的基础 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)。建议将其设置为 `None`，让 xFormers 自动选择最佳算子。

用于使用 xFormers 实现内存高效注意力的处理器。

#### diffusers.models.attention_processor.XFormersAttnAddedKVProcessor[[diffusers.models.attention_processor.XFormersAttnAddedKVProcessor]]

```python
diffusers.models.attention_processor.XFormersAttnAddedKVProcessor(attention_op: Callable | None = None)
```

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

**参数：**

attention_op (`Callable`，*可选*，默认为 `None`)：用作注意力算子的基础 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)。建议将其设置为 `None`，让 xFormers 自动选择最佳算子。

用于使用 xFormers 实现内存高效注意力的处理器。

## XLAFlashAttnProcessor2_0[[diffusers.models.attention_processor.XLAFlashAttnProcessor2_0]]

#### diffusers.models.attention_processor.XLAFlashAttnProcessor2_0[[diffusers.models.attention_processor.XLAFlashAttnProcessor2_0]]

```python
diffusers.models.attention_processor.XLAFlashAttnProcessor2_0(partition_spec: tuple[str | None, ...] | None = None)
```

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

如果使用 `torch_xla`，则用于实现基于 pallas flash attention 内核的缩放点积注意力的处理器。

## XFormersJointAttnProcessor[[diffusers.models.attention_processor.XFormersJointAttnProcessor]]

#### diffusers.models.attention_processor.XFormersJointAttnProcessor[[diffusers.models.attention_processor.XFormersJointAttnProcessor]]

```python
diffusers.models.attention_processor.XFormersJointAttnProcessor(attention_op: Callable | None = None)
```

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

**参数：**

attention_op (`Callable`，*可选*，默认为 `None`)：用作注意力算子的基础 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)。建议将其设置为 `None`，让 xFormers 自动选择最佳算子。

用于使用 xFormers 实现内存高效注意力的处理器。

## IPAdapterXFormersAttnProcessor[[diffusers.models.attention_processor.IPAdapterXFormersAttnProcessor]]

#### diffusers.models.attention_processor.IPAdapterXFormersAttnProcessor[[diffusers.models.attention_processor.IPAdapterXFormersAttnProcessor]]

```python
diffusers.models.attention_processor.IPAdapterXFormersAttnProcessor(hidden_size, cross_attention_dim = None, num_tokens = (4,), scale = 1.0, attention_op: Callable | None = None)
```

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

**参数：**

hidden_size (`int`) : 注意力层的隐藏层大小。

cross_attention_dim (`int`) : `encoder_hidden_states` 中的通道数。

num_tokens (`int`、`tuple[int]` 或 `list[int]`，默认为 `(4,)`)：图像特征的上下文长度。

scale (`float` 或 `list[float]`，默认为 1.0)：图像提示的权重缩放。

attention_op (`Callable`，*可选*，默认为 `None`)：用作注意力算子的基础 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)。建议将其设置为 `None`，让 xFormers 自动选择最佳算子。

使用 xFormers 的 IP-Adapter 注意力处理器。

## FluxIPAdapterJointAttnProcessor2_0[[diffusers.models.attention_processor.FluxIPAdapterJointAttnProcessor2_0]]

#### diffusers.models.attention_processor.FluxIPAdapterJointAttnProcessor2_0[[diffusers.models.attention_processor.FluxIPAdapterJointAttnProcessor2_0]]

```python
diffusers.models.attention_processor.FluxIPAdapterJointAttnProcessor2_0(*args, **kwargs)
```

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

## XLAFluxFlashAttnProcessor2_0[[diffusers.models.attention_processor.XLAFluxFlashAttnProcessor2_0]]

#### diffusers.models.attention_processor.XLAFluxFlashAttnProcessor2_0[[diffusers.models.attention_processor.XLAFluxFlashAttnProcessor2_0]]

```python
diffusers.models.attention_processor.XLAFluxFlashAttnProcessor2_0(*args, **kwargs)
```

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

如果使用 `torch_xla`，则用于实现基于 pallas flash attention 内核的缩放点积注意力的处理器。

