Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /ru /api /attnprocessor.md
mishig's picture
|
download
raw
43.1 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)
Процессор для реализации 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/v0.43.0/src/diffusers/models/attention_processor.py#L3656)
Процессор для реализации масштабированного внимания на основе скалярного произведения (включен по умолчанию при использовании 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/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)
Процессор внимания, обычно используемый при обработке 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)
Процессор для реализации масштабированного внимания на основе скалярного произведения с поддержкой 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/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, которую следует использовать.
Процессор для реализации механизма внимания для метода 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/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`) : Базовый [оператор](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/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` или список`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/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) : масштаб веса для изображения-промпта.
Процессор внимания для 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/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)
Процессор для реализации внимания с использованием 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/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`, *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/v0.43.0/src/diffusers/models/attention_processor.py#L4075)
**Параметры:**
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/v0.43.0/src/diffusers/models/attention_processor.py#L2476)
**Параметры:**
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/v0.43.0/src/diffusers/models/attention_processor.py#L2405)
**Параметры:**
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/v0.43.0/src/diffusers/models/attention_processor.py#L2778)
Процессор для реализации масштабированного внимания на основе скалярного произведения с ядром 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/v0.43.0/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/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`) : Базовый [оператор](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/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)
Процессор для реализации масштабированного внимания на основе скалярного произведения с ядром pallas flash attention при использовании `torch_xla`.

Xet Storage Details

Size:
43.1 kB
·
Xet hash:
5cc0ab6d73f6ae5dabd0d733cdaa738a6d445e39d122e2628541a9e08af4cc64

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