# Процессор внимания

Процессор внимания — это класс для применения различных типов механизмов внимания.

## 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/main/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/main/src/diffusers/models/attention_processor.py#L2696)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию, если вы используете 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/main/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/main/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/main/src/diffusers/models/attention_processor.py#L2582)

Процессор для реализации flash attention с использованием torch_npu. 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/main/src/diffusers/models/attention_processor.py#L3668)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании PyTorch 2.0). Он использует объединенные проекционные слои. Для модулей само-внимания все проекционные матрицы (т.е., запрос, ключ, значение) объединяются. Для модулей кросс-внимания объединяются проекционные матрицы ключа и значения.

> [!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/main/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/main/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/main/src/diffusers/models/attention_processor.py#L2180)

Процессор внимания, обычно используемый при обработке 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/main/src/diffusers/models/attention_processor.py#L2277)

Процессор для реализации масштабированного внимания на основе скалярного произведения для модели 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/main/src/diffusers/models/attention_processor.py#L2346)

Процессор для реализации масштабированного внимания на основе скалярного произведения для модели 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/main/src/diffusers/models/unets/unet_dreamlite.py#L285)

Процессор для реализации масштабированного внимания на основе скалярного произведения с поддержкой Grouped Query Attention (GQA / MQA).

Идентичен `AttnProcessor2_0`, за исключением того, что ветка reshape для ключей/значений корректно обрабатывает случай `attn.kv_heads != attn.heads`, изменяя размерность K/V до `kv_heads`, а затем применяя `repeat_interleave` до `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/main/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/main/src/diffusers/models/attention_processor.py#L3886)

**Параметры:**

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 с использованием эффективного по памяти масштабированного внимания на основе скалярного произведения в 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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3770)

**Параметры:**

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`) : Базовый [оператор](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase), используемый в качестве оператора внимания. Рекомендуется установить значение `None`, чтобы xFormers самостоятельно выбрал оптимальный оператор.

Процессор для реализации эффективного по памяти внимания с использованием xFormers для метода 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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5505)

#### 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/main/src/diffusers/models/attention_processor.py#L5529)

#### 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/main/src/diffusers/models/attention_processor.py#L5515)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию, если вы используете 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/main/src/diffusers/models/attention_processor.py#L3124)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/main/src/diffusers/models/attention_processor.py#L3222)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/main/src/diffusers/models/attention_processor.py#L3325)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/main/src/diffusers/models/attention_processor.py#L3448)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/main/src/diffusers/models/attention_processor.py#L5043)

Процессор для реализации 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/main/src/diffusers/models/attention_processor.py#L5142)

Процессор для реализации 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/main/src/diffusers/models/attention_processor.py#L4208)

**Параметры:**

hidden_size (`int`) : Размер скрытого слоя механизма внимания.

cross_attention_dim (`int`) : Количество каналов в `encoder_hidden_states`.

num_tokens (`int`, `tuple[int]` или `list[int]`, по умолчанию `(4,)`) : Длина контекста для признаков изображения.

scale (`float` или список`float`, по умолчанию 1.0) : масштаб веса для изображения-промпта.

Процессор внимания для нескольких IP-адаптеров.

#### 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/main/src/diffusers/models/attention_processor.py#L4408)

**Параметры:**

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 для 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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L4872)

**Параметры:**

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/main/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/main/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/main/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/main/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/main/src/diffusers/models/attention_processor.py#L5305)

Процессор для реализации внимания с 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/main/src/diffusers/models/attention_processor.py#L5314)

Процессор для реализации внимания с 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/main/src/diffusers/models/attention_processor.py#L5332)

Процессор для реализации внимания с LoRA с дополнительными обучаемыми матрицами ключей и значений для текстового энкодера.

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

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5323)

Процессор для реализации внимания с использованием LoRA и 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()
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L3572)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/main/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/main/src/diffusers/models/attention_processor.py#L2906)

Процессор внимания, используемый в 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/main/src/diffusers/models/attention_processor.py#L5341)

Процессор для реализации линейного внимания с масштабированным скалярным произведением.

#### 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/main/src/diffusers/models/attention_processor.py#L5245)

Процессор для реализации мультимасштабного квадратичного внимания.

#### 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/main/src/diffusers/models/attention_processor.py#L5393)

Процессор для реализации линейного внимания с масштабированным скалярным произведением.

#### 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/main/src/diffusers/models/attention_processor.py#L5448)

Процессор для реализации линейного внимания с масштабированным скалярным произведением.

## 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/main/src/diffusers/models/attention_processor.py#L2991)

Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/main/src/diffusers/models/attention_processor.py#L4000)

**Параметры:**

slice_size (`int`, *optional*) : Количество шагов для вычисления внимания. Используется столько слайсов, сколько получается из `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/main/src/diffusers/models/attention_processor.py#L4087)

**Параметры:**

slice_size (`int`, *optional*) : Количество шагов для вычисления внимания. Используется столько слайсов, сколько получается из `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/main/src/diffusers/models/attention_processor.py#L2488)

**Параметры:**

attention_op (`Callable`, *необязательный*, по умолчанию `None`) : Базовый [оператор](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/main/src/diffusers/models/attention_processor.py#L2417)

**Параметры:**

attention_op (`Callable`, *необязательный*, по умолчанию `None`) : Базовый [оператор](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/main/src/diffusers/models/attention_processor.py#L2790)

Процессор для реализации масштабированного внимания на основе скалярного произведения с ядром pallas flash attention при использовании `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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L1908)

**Параметры:**

attention_op (`Callable`, *необязательный*, по умолчанию `None`) : Базовый [оператор](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/main/src/diffusers/models/attention_processor.py#L4640)

**Параметры:**

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`) : Базовый [оператор](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase), используемый в качестве оператора внимания. Рекомендуется установить значение `None`, чтобы xFormers самостоятельно выбрал оптимальный оператор.

Процессор внимания для IP-Adapter с использованием 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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py#L5539)

## 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/main/src/diffusers/models/attention_processor.py#L5579)

Процессор для реализации масштабированного внимания на основе скалярного произведения с ядром pallas flash attention при использовании `torch_xla`.

