# Procesador de atención

Un procesador de atención es una clase para aplicar diferentes tipos de mecanismos de atención.

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

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1103)

Procesador predeterminado para realizar cálculos relacionados con la atención.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2684)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0).

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1279)

Procesador para realizar cálculos relacionados con la atención con matrices de clave y valor adicionales y aprendibles para el codificador de texto.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1346)

Procesador para realizar atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0), con matrices adicionales de clave y valor aprendibles para el codificador de texto.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2570)

Procesador para implementar flash attention usando torch_npu. Torch_npu solo admite los tipos de datos fp16 y bf16. Si se usa fp32, se empleará F.scaled_dot_product_attention para el cálculo, pero el efecto de aceleración en la NPU no es significativo.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3656)

Procesador para implementar la atención de producto escalar (activado de forma predeterminada si está usando PyTorch 2.0). Utiliza capas de proyección fusionadas. Para los módulos de autoatención, todas las matrices de proyección (es decir, query, key, value) se fusionan. Para los módulos de atención cruzada, las matrices de proyección de key y value se fusionan.

> [!WARNING] > Esta API es actualmente 🧪 experimental y puede cambiar en el futuro.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1993)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0). Se utiliza en el modelo Allegro. Aplica una capa de normalización y un embebido rotatorio en los vectores de consulta y clave.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2087)

Procesador de atención utilizado típicamente en el procesamiento de Aura Flow.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2174)

Procesador de atención utilizado típicamente en el procesamiento de Aura Flow con proyecciones fusionadas.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2265)

Procesador para implementar la atención de producto escalar para el modelo CogVideoX. Aplica un embebido rotacional a los vectores de consulta y clave, pero no incluye normalización espacial.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2334)

Procesador para implementar la atención de producto escalar para el modelo CogVideoX. Aplica un embebido rotacional a los vectores de consulta y clave, pero no incluye normalización espacial.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/unets/unet_dreamlite.py#L285)

Procesador para implementar la atención de producto escalar con soporte para Grouped Query Attention (GQA / MQA).

Idéntico a `AttnProcessor2_0` excepto que la rama de reshape de key/value maneja correctamente `attn.kv_heads != attn.heads` al hacer reshape de K/V a `kv_heads` y luego aplicar `repeat_interleave` hasta `attn.heads`. Esto es requerido por el DreamLite UNet, que combina GQA con `qk_norm` — una combinación que el `AttnProcessor2_0` predeterminado no maneja. SDPA se delega a `dispatch_attention_fn` para que se pueda utilizar cualquiera de los backends de atención de diffusers (SDPA nativo de PyTorch, FlashAttention, etc.).

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1175)

**Parámetros:**

train_kv (`bool`, por defecto `True`) : Si se deben entrenar de nuevo las matrices de clave y valor correspondientes a las características de texto.

train_q_out (`bool`, por defecto `True`) : Si se deben entrenar nuevas matrices de consulta correspondientes a las características latentes de la imagen.

hidden_size (`int`, *opcional*, valor predeterminado `None`) : El tamaño oculto de la capa de atención.

cross_attention_dim (`int`, *opcional*, valor predeterminado `None`) : El número de canales en `encoder_hidden_states`.

out_bias (`bool`, por defecto `True`) : Si se incluye el parámetro de sesgo en `train_q_out`.

dropout (`float`, *opcional*, valor predeterminado 0.0) : La probabilidad de dropout a utilizar.

Procesador para implementar la atención en el método 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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3874)

**Parámetros:**

train_kv (`bool`, por defecto `True`) : Si se deben entrenar de nuevo las matrices de clave y valor correspondientes a las características de texto.

train_q_out (`bool`, por defecto `True`) : Si se deben entrenar nuevas matrices de consulta correspondientes a las características latentes de la imagen.

hidden_size (`int`, *opcional*, valor predeterminado `None`) : El tamaño oculto de la capa de atención.

cross_attention_dim (`int`, *opcional*, valor predeterminado `None`) : El número de canales en `encoder_hidden_states`.

out_bias (`bool`, por defecto `True`) : Si se incluye el parámetro de sesgo en `train_q_out`.

dropout (`float`, *opcional*, valor predeterminado 0.0) : La probabilidad de dropout a utilizar.

Procesador para implementar la atención en el método Custom Diffusion utilizando la atención de producto escalar de puntos eficiente en memoria de PyTorch 2.0.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3758)

**Parámetros:**

train_kv (`bool`, por defecto `True`) : Si se deben entrenar de nuevo las matrices de clave y valor correspondientes a las características de texto.

train_q_out (`bool`, por defecto `True`) : Si se deben entrenar nuevas matrices de consulta correspondientes a las características latentes de la imagen.

hidden_size (`int`, *opcional*, valor predeterminado `None`) : El tamaño oculto de la capa de atención.

cross_attention_dim (`int`, *opcional*, valor predeterminado `None`) : El número de canales en `encoder_hidden_states`.

out_bias (`bool`, por defecto `True`) : Si se incluye el parámetro de sesgo en `train_q_out`.

dropout (`float`, *opcional*, valor predeterminado 0.0) : La probabilidad de dropout a utilizar.

attention_op (`Callable`, *opcional*, valor predeterminado `None`) : El [operador](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase) base que se utilizará como operador de atención. Se recomienda establecerlo en `None` y permitir que xFormers elija el mejor operador.

Procesador para implementar atención eficiente en memoria usando xFormers para el método Custom Diffusion.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5503)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando 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()
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3112)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0). Se utiliza en el modelo HunyuanDiT. Aplica una capa de normalización s y un embebido rotatorio en los vectores de consulta y clave.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3210)

Procesador para implementar la atención de producto punto escalado (habilitado de forma predeterminada si está utilizando PyTorch 2.0) con capas de proyección fusionadas. Se utiliza en el modelo HunyuanDiT. Aplica una capa de normalización s y un embebido rotatorio en los vectores de consulta y clave.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3313)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0). Se utiliza en el modelo HunyuanDiT. Aplica una capa de normalización y un embebido rotatorio en los vectores de consulta y clave. Esta variante del procesador emplea [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()
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3436)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0). Se utiliza en el modelo HunyuanDiT. Aplica una capa de normalización y un embebido rotatorio en los vectores de consulta y clave. Esta variante del procesador emplea [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()
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5031)

Procesador para implementar PAG usando atención de producto escalar (habilitado de forma predeterminada si estás usando PyTorch 2.0). Referencia de 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()
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5130)

Procesador para implementar PAG usando atención de producto escalar (habilitado de forma predeterminada si estás usando PyTorch 2.0). Referencia de 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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L4196)

**Parámetros:**

hidden_size (`int`) : El tamaño oculto de la capa de atención.

cross_attention_dim (`int`) : El número de canales en `encoder_hidden_states`.

num_tokens (`int`, `tuple[int]` o `list[int]`, por defecto `(4,)`) : La longitud de contexto de las características de la imagen.

scale (`float` o lista`float`, por defecto 1.0) : la escala de peso del prompt de imagen.

Procesador de atención para múltiples IP-Adapters.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L4396)

**Parámetros:**

hidden_size (`int`) : El tamaño oculto de la capa de atención.

cross_attention_dim (`int`) : El número de canales en `encoder_hidden_states`.

num_tokens (`int`, `tuple[int]` o `list[int]`, por defecto `(4,)`) : La longitud de contexto de las características de la imagen.

scale (`float` o `list[float]`, por defecto 1.0) : la escala de peso del prompt de imagen.

Procesador de atención para IP-Adapter para PyTorch 2.0.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L4860)

**Parámetros:**

hidden_size (`int`) : El número de canales ocultos.

ip_hidden_states_dim (`int`) : La dimensión de las características de la imagen.

head_dim (`int`) : El número de canales de cabezas.

timesteps_emb_dim (`int`, por defecto 1280) : El número de canales de entrada para la incrustación del paso de tiempo.

scale (`float`, por defecto 0.5) : Escala de IP-Adapter.

Procesador de atención para IP-Adapter, utilizado típicamente en el procesamiento de las proyecciones de autoatención similares a SD3, con información adicional basada en imágenes y embeddings de timestep.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1422)

Procesador de atención utilizado típicamente en el procesamiento de las proyecciones de autoatención similares a SD3.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1508)

Procesador de atención utilizado típicamente en el procesamiento de las proyecciones de autoatención similares a SD3.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1664)

Procesador de atención utilizado típicamente en el procesamiento de las proyecciones de autoatención similares a SD3.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1829)

Procesador de atención utilizado típicamente en el procesamiento de las proyecciones de autoatención similares a SD3.

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

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5293)

Procesador para implementar atención con LoRA.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5302)

Procesador para implementar la atención con LoRA (habilitado de forma predeterminada si estás usando PyTorch 2.0).

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5320)

Procesador para implementar atención con LoRA con matrices adicionales de clave y valor aprendibles para el codificador de texto.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5311)

Procesador para implementar atención con LoRA usando xFormers.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3560)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0). Se utiliza en el modelo LuminaNextDiT. Aplica una capa de normalización s y un embebido rotatorio en los vectores de consulta y clave.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L998)

Procesador de atención utilizado en Mochi.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2894)

Procesador de atención utilizado en 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()
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5329)

Procesador para implementar atención lineal de producto escalar.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5233)

Procesador para implementar atención cuadrática multiescala.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5381)

Procesador para implementar atención lineal de producto escalar.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5436)

Procesador para implementar atención lineal de producto escalar.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2979)

Procesador para implementar la atención de producto escalar (habilitado de forma predeterminada si está utilizando PyTorch 2.0). Se utiliza en el modelo Stable Audio. Aplica la incrustación rotacional en los vectores de consulta y clave, y permite MHA, GQA o 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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3988)

**Parámetros:**

slice_size (`int`, *opcional*) : El número de pasos para calcular la atención. Utiliza tantas rebanadas como `attention_head_dim // slice_size`, y `attention_head_dim` debe ser un múltiplo de `slice_size`.

Procesador para implementar atención segmentada.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L4075)

**Parámetros:**

slice_size (`int`, *opcional*) : El número de pasos para calcular la atención. Utiliza tantas rebanadas como `attention_head_dim // slice_size`, y `attention_head_dim` debe ser un múltiplo de `slice_size`.

Procesador para implementar atención segmentada con matrices de clave y valor adicionales y aprendibles para el codificador de texto.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2476)

**Parámetros:**

attention_op (`Callable`, *opcional*, valor predeterminado `None`) : El [operador](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase) base que se utilizará como operador de atención. Se recomienda establecerlo en `None` y permitir que xFormers elija el mejor operador.

Procesador para implementar atención eficiente en memoria usando xFormers.

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

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2405)

**Parámetros:**

attention_op (`Callable`, *opcional*, valor predeterminado `None`) : El [operador](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase) base que se utilizará como operador de atención. Se recomienda establecerlo en `None` y permitir que xFormers elija el mejor operador.

Procesador para implementar atención eficiente en memoria usando 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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L2778)

Procesador para implementar la atención de producto escalar con el kernel de pallas flash attention si se usa `torch_xla`.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1908)

**Parámetros:**

attention_op (`Callable`, *opcional*, valor predeterminado `None`) : El [operador](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase) base que se utilizará como operador de atención. Se recomienda establecerlo en `None` y permitir que xFormers elija el mejor operador.

Procesador para implementar atención eficiente en memoria usando 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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L4628)

**Parámetros:**

hidden_size (`int`) : El tamaño oculto de la capa de atención.

cross_attention_dim (`int`) : El número de canales en `encoder_hidden_states`.

num_tokens (`int`, `tuple[int]` o `list[int]`, por defecto `(4,)`) : La longitud de contexto de las características de la imagen.

scale (`float` o `list[float]`, por defecto 1.0) : la escala de peso del prompt de imagen.

attention_op (`Callable`, *opcional*, valor predeterminado `None`) : El [operador](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase) base que se utilizará como operador de atención. Se recomienda establecerlo en `None` y permitir que xFormers elija el mejor operador.

Procesador de atención para IP-Adapter que utiliza xFormers.

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5567)

Procesador para implementar la atención de producto escalar con el kernel de pallas flash attention si se usa `torch_xla`.

