Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /zh /api /attnprocessor.md
mishig's picture
|
download
raw
32 kB
# 注意力处理器
注意力处理器是一个用于应用不同类型注意力机制的类。
## 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 内核的缩放点积注意力的处理器。

Xet Storage Details

Size:
32 kB
·
Xet hash:
f610e07325ea7c897737a5bb64a650d0c21059dd6dc70354d61282714c91c8f3

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.