Buckets:
| # Attention Processor | |
| Attention processor는 다양한 유형의 attention mechanism을 적용하기 위한 클래스입니다. | |
| ## 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) | |
| 텍스트 인코더에 추가적인 학습 가능한 키 및 값 행렬을 사용하여 어텐션 관련 계산을 수행하는 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/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) | |
| torch_npu를 사용하여 flash attention을 구현하는 Processor입니다. Torch_npu는 fp16과 bf16 데이터 타입만 지원합니다. fp32를 사용하면 F.scaled_dot_product_attention이 계산에 사용되지만, NPU에서의 가속 효과는 크지 않습니다. | |
| #### diffusers.models.attention_processor.FusedAttnProcessor2_0[[diffusers.models.attention_processor.FusedAttnProcessor2_0]] | |
| ```python | |
| diffusers.models.attention_processor.FusedAttnProcessor2_0() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/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) | |
| Attention processor는 일반적으로 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) | |
| 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/main/src/diffusers/models/attention_processor.py#L2277) | |
| 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/main/src/diffusers/models/attention_processor.py#L2346) | |
| 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/main/src/diffusers/models/unets/unet_dreamlite.py#L285) | |
| Grouped Query Attention(GQA / MQA) 지원을 구현하는 scaled dot-product attention을 위한 Processor입니다. | |
| `AttnProcessor2_0`와 동일하지만, `attn.kv_heads != attn.heads`인 경우를 K/V를 `kv_heads`로 reshape한 뒤 `repeat_interleave`를 적용하여 `attn.heads`까지 확장하는 방식으로 key/value reshape 분기가 올바르게 처리합니다. 이는 GQA와 `qk_norm`를 함께 사용하는 DreamLite UNet에서 요구되며, 기본 `AttnProcessor2_0`은 이러한 조합을 지원하지 않습니다. SDPA는 `dispatch_attention_fn`에 위임되어 diffusers의 모든 attention 백엔드(네이티브 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`) : attention 레이어의 hidden size입니다. | |
| cross_attention_dim (`int`, *선택 사항*, 기본값 `None`) : `encoder_hidden_states`의 채널 수입니다. | |
| out_bias (`bool`, 기본값 `True`) : `train_q_out`에 bias 매개변수를 포함할지 여부. | |
| dropout (`float`, *선택 사항*, 기본값 0.0) : 사용할 dropout 확률입니다. | |
| Custom Diffusion 메서드의 attention을 구현하기 위한 Processor입니다. | |
| #### 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`) : attention 레이어의 hidden size입니다. | |
| cross_attention_dim (`int`, *선택 사항*, 기본값 `None`) : `encoder_hidden_states`의 채널 수입니다. | |
| out_bias (`bool`, 기본값 `True`) : `train_q_out`에 bias 매개변수를 포함할지 여부. | |
| 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/main/src/diffusers/models/attention_processor.py#L3770) | |
| **매개변수:** | |
| train_kv (`bool`, 기본값 `True`) : 텍스트 특징에 해당하는 키 및 값 행렬을 새로 학습할지 여부. | |
| train_q_out (`bool`, 기본값 `True`) : 잠재 이미지 특징에 해당하는 쿼리 행렬을 새로 학습할지 여부. | |
| hidden_size (`int`, *선택 사항*, 기본값 `None`) : attention 레이어의 hidden size입니다. | |
| cross_attention_dim (`int`, *선택 사항*, 기본값 `None`) : `encoder_hidden_states`의 채널 수입니다. | |
| out_bias (`bool`, 기본값 `True`) : `train_q_out`에 bias 매개변수를 포함할지 여부. | |
| dropout (`float`, *선택 사항*, 기본값 0.0) : 사용할 dropout 확률입니다. | |
| attention_op (`Callable`, *선택 사항*, 기본값 `None`) : attention operator로 사용할 기본 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)입니다. `None`으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다. | |
| Custom Diffusion 방법에서 xFormers를 사용하여 메모리 효율적인 어텐션을 구현하는 Processor입니다. | |
| ## 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) | |
| Processor는 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) | |
| PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 사용하여 PAG를 구현하는 Processor입니다. 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) | |
| PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 사용하여 PAG를 구현하는 Processor입니다. 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`) : attention layer의 hidden size입니다. | |
| 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/main/src/diffusers/models/attention_processor.py#L4408) | |
| **매개변수:** | |
| hidden_size (`int`) : attention layer의 hidden size입니다. | |
| 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/main/src/diffusers/models/attention_processor.py#L4872) | |
| **매개변수:** | |
| hidden_size (`int`) : 숨겨진 채널의 수. | |
| ip_hidden_states_dim (`int`) : 이미지 특징 차원. | |
| head_dim (`int`) : 헤드 채널의 수. | |
| timesteps_emb_dim (`int`, 기본값 1280) : timestep 임베딩의 입력 채널 수입니다. | |
| scale (`float`, 기본값 0.5) : IP-Adapter 스케일. | |
| IP-Adapter에서 일반적으로 SD3 계열의 self-attention 투영을 처리할 때 사용되며, 추가적인 이미지 기반 정보와 timestep 임베딩을 함께 처리하는 attention processor입니다. | |
| ## 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) | |
| Attention processor는 일반적으로 SD3 유사한 self-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/main/src/diffusers/models/attention_processor.py#L1508) | |
| Attention processor는 일반적으로 SD3 유사한 self-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/main/src/diffusers/models/attention_processor.py#L1664) | |
| Attention processor는 일반적으로 SD3 유사한 self-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/main/src/diffusers/models/attention_processor.py#L1829) | |
| Attention processor는 일반적으로 SD3 유사한 self-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/main/src/diffusers/models/attention_processor.py#L5305) | |
| LoRA를 사용하여 attention을 구현하는 Processor입니다. | |
| #### 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를 사용하여 attention을 구현하는 Processor입니다 (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로 어텐션을 구현하기 위한 Processor | |
| #### 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) | |
| 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/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에서 사용되는 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/main/src/diffusers/models/attention_processor.py#L2906) | |
| 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/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) | |
| 멀티스케일 제곱 주의력(multiscale quadratic attention)을 구현하기 위한 프로세서입니다. | |
| #### 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`, *선택 사항*) : attention을 계산할 단계 수입니다. `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`, *선택 사항*) : attention을 계산할 단계 수입니다. `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`) : attention operator로 사용할 기본 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)입니다. `None`으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다. | |
| 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`) : attention operator로 사용할 기본 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)입니다. `None`으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다. | |
| 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) | |
| `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/main/src/diffusers/models/attention_processor.py#L1908) | |
| **매개변수:** | |
| attention_op (`Callable`, *선택 사항*, 기본값 `None`) : attention operator로 사용할 기본 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)입니다. `None`으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다. | |
| 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`) : attention layer의 hidden size입니다. | |
| 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`) : attention operator로 사용할 기본 [operator](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase)입니다. `None`으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다. | |
| xFormers를 사용하는 IP-Adapter의 Attention 프로세서입니다. | |
| ## 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) | |
| `torch_xla`를 사용하는 경우 pallas flash attention 커널을 사용하여 스케일된 도트 프로덕트 어텐션을 구현하는 프로세서 | |
Xet Storage Details
- Size:
- 34.6 kB
- Xet hash:
- 96d6fcf5376039911f0571728d6bf030cdf520ed48bd8979a5a87b7cf4b1a040
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.