# アテンションプロセッサ

Attention processorは、異なるタイプのattentionメカニズムを適用するためのクラスです。

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

テキストエンコーダー用の、追加の学習可能なキー行列とバリュー行列を用いてアテンション関連の計算を実行するProcessorです。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L1346)

スケーリングドット積アテンションを実行するためのプロセッサ（PyTorch 2.0 を使用している場合はデフォルトで有効化されます）。テキストエンコーダー用の追加の学習可能なキー行列とバリュー行列を備えています。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L2570)

torch_npu を使用してフラッシュアテンションを実装するためのプロセッサです。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の処理で通常使用されるAttentionプロセッサ。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L2174)

Attention processorは、通常、融合投影（fused projections）を伴う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モデルのスケーリングドット積アテンションを実装するためのProcessorです。クエリベクトルとキーベクトルにロータリー埋め込みを適用しますが、空間正規化は含まれません。

#### 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モデルのスケーリングドット積アテンションを実装するためのProcessorです。クエリベクトルとキーベクトルにロータリー埋め込みを適用しますが、空間正規化は含まれません。

## 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` と同一ですが、キー/バリューのリシェイプ分岐が `attn.kv_heads != attn.heads` を正しく処理するように修正されています。具体的には、K/V を `kv_heads` にリシェイプした上で、`repeat_interleave` を用いて `attn.heads` まで複製します。これは、GQA と `qk_norm` を組み合わせて使用する DreamLite UNet に必要であり、デフォルトの `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`) : attention層の隠れ層サイズです。

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`) : attention層の隠れ層サイズです。

cross_attention_dim (`int`、*任意*、デフォルトは`None`) : `encoder_hidden_states`のチャネル数。

out_bias (`bool`、デフォルトは`True`) : `train_q_out`にバイアスパラメータを含めるかどうか。

dropout (`float`、*任意*、デフォルトは 0.0) : 使用する dropout の確率。

PyTorch 2.0のメモリ効率の高いスケーリングドットプロダクトアテンションを用いて、Custom Diffusion手法のアテンションを実装するためのプロセッサ。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L3758)

**パラメータ:**

train_kv (`bool`、デフォルトは`True`) : テキスト特徴量に対応するキー行列とバリュー行列を新規に学習するかどうかを指定します。

train_q_out (`bool`、デフォルトは`True`) : 潜在画像特徴に対応するクエリ行列を新規に学習するかどうかを指定します。

hidden_size (`int`、*任意*、デフォルトは`None`) : attention層の隠れ層サイズです。

cross_attention_dim (`int`、*任意*、デフォルトは`None`) : `encoder_hidden_states`のチャネル数。

out_bias (`bool`、デフォルトは`True`) : `train_q_out`にバイアスパラメータを含めるかどうか。

dropout (`float`、*任意*、デフォルトは 0.0) : 使用する dropout の確率。

attention_op (`Callable`、*任意*、デフォルトは`None`) : 注意機構の演算子として使用するベースの[operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)です。`None`に設定し、xFormersが最適な演算子を選択できるようにすることを推奨します。

Custom Diffusion 手法において xFormers を使用してメモリ効率の高いアテンションを実装するためのプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5493)

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5517)

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5503)

スケーリングドット積アテンションを実装するためのプロセッサ（PyTorch 2.0 を使用している場合、デフォルトで有効になります）。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L3112)

PyTorch 2.0 を使用している場合、デフォルトで有効になります。HunyuanDiT モデルで使用される、スケーリングドットプロダクトアテンションを実装するためのプロセッサです。クエリベクトルとキーベクトルに s 正規化レイヤーとロータリー埋め込みを適用します。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L3210)

PyTorch 2.0 を使用している場合、デフォルトで有効になります。融合された投影層を備えた、スケーリングドットプロダクトアテンションを実装するためのプロセッサです。HunyuanDiT モデルで使用されます。クエリベクトルとキーベクトルに、s 正規化層とロータリー埋め込みを適用します。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L3313)

スケーリングドット積アテンションを実装するためのプロセッサです（PyTorch 2.0 を使用している場合はデフォルトで有効になります）。これは HunyuanDiT モデルで使用されます。クエリベクトルとキーベクトルに対して正規化レイヤーとロータリー埋め込みを適用します。このプロセッサのバリアントは [Pertubed Attention Guidance](https://huggingface.co/papers/2403.17377) を採用しています。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L3436)

スケーリングドット積アテンションを実装するためのプロセッサです（PyTorch 2.0 を使用している場合はデフォルトで有効になります）。これは HunyuanDiT モデルで使用されます。クエリベクトルとキーベクトルに対して正規化レイヤーとロータリー埋め込みを適用します。このプロセッサのバリアントは [Pertubed Attention Guidance](https://huggingface.co/papers/2403.17377) を採用しています。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5031)

PyTorch 2.0 を使用している場合、デフォルトで有効になります。スケーリングドットプロダクトアテンションを用いた PAG の実装を行うプロセッサです。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)

PyTorch 2.0 を使用している場合、デフォルトで有効になります。スケーリングドットプロダクトアテンションを用いた PAG の実装を行うプロセッサです。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) : 画像プロンプトの重みスケール。

Multiple IP-Adapters用のAttentionプロセッサ。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L4396)

**パラメータ:**

hidden_size (`int`) : アテンション層の隠れ層サイズ。

cross_attention_dim (`int`) : `encoder_hidden_states`のチャネル数。

num_tokens (`int`、`tuple[int]`または`list[int]`、デフォルトは`(4,)`) : 画像特徴のコンテキスト長です。

scale (`float` または `list[float]`、デフォルトは 1.0) : 画像プロンプトの重みスケール。

PyTorch 2.0 用の IP-Adapter 向けの Attention プロセッサ。

#### 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で使用されるAttentionプロセッサです。通常、SD3系の自己注意（self-attention）の射影処理に用いられ、追加の画像ベースの情報とタイムステップ埋め込みを扱います。

## 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系の自己注意投影の処理に通常使用されるAttentionプロセッサ。

#### 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系の自己注意投影の処理に通常使用されるAttentionプロセッサ。

#### 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系の自己注意投影の処理に通常使用されるAttentionプロセッサ。

#### 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系の自己注意投影の処理に通常使用されるAttentionプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5293)

LoRAによるアテンションを実装するためのプロセッサ。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5302)

LoRA によるアテンションを実装するためのプロセッサ（PyTorch 2.0 を使用している場合、デフォルトで有効になります）。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5320)

テキストエンコーダー用の、追加の学習可能なキー行列とバリュー行列を備えたLoRAによるアテンションを実装するためのプロセッサ。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5311)

xFormers を使用して LoRA によるアテンションを実装するためのプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L3560)

PyTorch 2.0 を使用している場合、デフォルトで有効化される、スケーリングドット積アテンションを実装するためのプロセッサです。これは LuminaNextDiT モデルで使用されます。クエリベクトルとキーベクトルに s 正規化レイヤーとロータリー埋め込みを適用します。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L998)

Mochiで使用されるAttentionプロセッサ。

#### 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で使用されるAttentionプロセッサ。

## 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`) : 注意機構の演算子として使用するベースの[operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)です。`None`に設定し、xFormersが最適な演算子を選択できるようにすることを推奨します。

xFormers を使用してメモリ効率の高いアテンションを実装するためのプロセッサ。

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L2405)

**パラメータ:**

attention_op (`Callable`、*任意*、デフォルトは`None`) : 注意機構の演算子として使用するベースの[operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)です。`None`に設定し、xFormersが最適な演算子を選択できるようにすることを推奨します。

xFormers を使用してメモリ効率の高いアテンションを実装するためのプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L2778)

`torch_xla`を使用する場合、pallas flash attentionカーネルを用いたスケーリングドットプロダクトアテンションを実装するためのプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L1908)

**パラメータ:**

attention_op (`Callable`、*任意*、デフォルトは`None`) : 注意機構の演算子として使用するベースの[operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)です。`None`に設定し、xFormersが最適な演算子を選択できるようにすることを推奨します。

xFormers を使用してメモリ効率の高いアテンションを実装するためのプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L4628)

**パラメータ:**

hidden_size (`int`) : アテンション層の隠れ層サイズ。

cross_attention_dim (`int`) : `encoder_hidden_states`のチャネル数。

num_tokens (`int`、`tuple[int]`または`list[int]`、デフォルトは`(4,)`) : 画像特徴のコンテキスト長です。

scale (`float` または `list[float]`、デフォルトは 1.0) : 画像プロンプトの重みスケール。

attention_op (`Callable`、*任意*、デフォルトは`None`) : 注意機構の演算子として使用するベースの[operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)です。`None`に設定し、xFormersが最適な演算子を選択できるようにすることを推奨します。

xFormers を使用した IP-Adapter 用のアテンションプロセッサ。

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5527)

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

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

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

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/attention_processor.py#L5567)

`torch_xla`を使用する場合、pallas flash attentionカーネルを用いたスケーリングドットプロダクトアテンションを実装するためのプロセッサ。

