Buckets:

hf-doc-build/doc / diffusers /main /ko /api /attnprocessor.md
mishig's picture
|
download
raw
34.6 kB

Attention Processor

Attention processor는 다양한 유형의 attention mechanism을 적용하기 위한 클래스입니다.

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

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

diffusers.models.attention_processor.AttnProcessor()

소스

주의 관련 연산을 수행하는 기본 프로세서.

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

diffusers.models.attention_processor.AttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 구현하기 위한 프로세서입니다.

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

diffusers.models.attention_processor.AttnAddedKVProcessor()

소스

텍스트 인코더에 추가적인 학습 가능한 키 및 값 행렬을 사용하여 어텐션 관련 계산을 수행하는 Processor입니다.

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

diffusers.models.attention_processor.AttnAddedKVProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 수행하는 프로세서로, 텍스트 인코더를 위한 추가 학습 가능한 키 및 값 행렬을 포함합니다.

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

diffusers.models.attention_processor.AttnProcessorNPU()

소스

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]]

diffusers.models.attention_processor.FusedAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일드 도트-프로덕트 어텐션을 구현하기 위한 프로세서입니다. 융합된 투영 레이어를 사용합니다. 셀프-어텐션 모듈의 경우 모든 투영 행렬(즉, 쿼리, 키, 값)이 융합됩니다. 크로스-어텐션 모듈의 경우 키와 값 투영 행렬이 융합됩니다.

> 이 API는 현재 🧪 실험적이며 향후 변경될 수 있습니다.

Allegro[[diffusers.models.attention_processor.AllegroAttnProcessor2_0]]

diffusers.models.attention_processor.AllegroAttnProcessor2_0[[diffusers.models.attention_processor.AllegroAttnProcessor2_0]]

diffusers.models.attention_processor.AllegroAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 구현하기 위한 프로세서입니다. 이는 Allegro 모델에서 사용됩니다. 쿼리 벡터와 키 벡터에 정규화 레이어와 로터리 임베딩을 적용합니다.

AuraFlow[[diffusers.models.attention_processor.AuraFlowAttnProcessor2_0]]

diffusers.models.attention_processor.AuraFlowAttnProcessor2_0[[diffusers.models.attention_processor.AuraFlowAttnProcessor2_0]]

diffusers.models.attention_processor.AuraFlowAttnProcessor2_0()

소스

Attention processor는 일반적으로 Aura Flow 처리에 사용됩니다.

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

diffusers.models.attention_processor.FusedAuraFlowAttnProcessor2_0()

소스

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]]

diffusers.models.attention_processor.CogVideoXAttnProcessor2_0()

소스

CogVideoX 모델에서 스케일된 도트-프로덕트 어텐션을 구현하기 위한 Processor입니다. 쿼리와 키 벡터에 회전 임베딩을 적용하지만, 공간 정규화는 포함하지 않습니다.

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

diffusers.models.attention_processor.FusedCogVideoXAttnProcessor2_0()

소스

CogVideoX 모델에서 스케일된 도트-프로덕트 어텐션을 구현하기 위한 Processor입니다. 쿼리와 키 벡터에 회전 임베딩을 적용하지만, 공간 정규화는 포함하지 않습니다.

DreamLite[[diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0]]

diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0[[diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0]]

diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0()

소스

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]]

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)

소스

매개변수:

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]]

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)

소스

매개변수:

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]]

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)

소스

매개변수:

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입니다. 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]]

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

소스

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

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

소스

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

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

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 구현하기 위한 프로세서입니다.

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

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

diffusers.models.attention_processor.HunyuanAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 구현하기 위한 프로세서입니다. 이는 HunyuanDiT 모델에서 사용됩니다. 쿼리 및 키 벡터에 s 정규화 레이어와 로터리 임베딩을 적용합니다.

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

diffusers.models.attention_processor.FusedHunyuanAttnProcessor2_0()

소스

Processor는 PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는, 융합된 투영 레이어를 갖춘 스케일된 도트-프로덕트 어텐션을 구현하는 프로세서입니다. 이는 HunyuanDiT 모델에서 사용됩니다. 쿼리 및 키 벡터에 s 정규화 레이어와 로터리 임베딩을 적용합니다.

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

diffusers.models.attention_processor.PAGHunyuanAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일드 도트-프로덕트 어텐션을 구현하기 위한 프로세서입니다. HunyuanDiT 모델에서 사용됩니다. 이 프로세서는 쿼리 벡터와 키 벡터에 정규화 레이어와 로터리 임베딩을 적용합니다. 이 프로세서의 변형은 Pertubed Attention Guidance를 사용합니다.

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

diffusers.models.attention_processor.PAGCFGHunyuanAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일드 도트-프로덕트 어텐션을 구현하기 위한 프로세서입니다. HunyuanDiT 모델에서 사용됩니다. 이 프로세서는 쿼리 벡터와 키 벡터에 정규화 레이어와 로터리 임베딩을 적용합니다. 이 프로세서의 변형은 Pertubed Attention Guidance를 사용합니다.

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

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

diffusers.models.attention_processor.PAGIdentitySelfAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는 스케일된 도트 프로덕트 어텐션을 사용하여 PAG를 구현하는 Processor입니다. PAG 참고: https://huggingface.co/papers/2403.17377

diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0[[diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0]]

diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0()

소스

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]]

diffusers.models.attention_processor.IPAdapterAttnProcessor(hidden_size, cross_attention_dim = None, num_tokens = (4,), scale = 1.0)

소스

매개변수:

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]]

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

소스

매개변수:

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]]

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)

소스

매개변수:

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]]

diffusers.models.attention_processor.JointAttnProcessor2_0()

소스

Attention processor는 일반적으로 SD3 유사한 self-attention 투영을 처리하는 데 사용됩니다.

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

diffusers.models.attention_processor.PAGJointAttnProcessor2_0()

소스

Attention processor는 일반적으로 SD3 유사한 self-attention 투영을 처리하는 데 사용됩니다.

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

diffusers.models.attention_processor.PAGCFGJointAttnProcessor2_0()

소스

Attention processor는 일반적으로 SD3 유사한 self-attention 투영을 처리하는 데 사용됩니다.

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

diffusers.models.attention_processor.FusedJointAttnProcessor2_0()

소스

Attention processor는 일반적으로 SD3 유사한 self-attention 투영을 처리하는 데 사용됩니다.

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

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

diffusers.models.attention_processor.LoRAAttnProcessor()

소스

LoRA를 사용하여 attention을 구현하는 Processor입니다.

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

diffusers.models.attention_processor.LoRAAttnProcessor2_0()

소스

LoRA를 사용하여 attention을 구현하는 Processor입니다 (PyTorch 2.0을 사용하는 경우 기본적으로 활성화됩니다).

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

diffusers.models.attention_processor.LoRAAttnAddedKVProcessor()

소스

텍스트 인코더에 추가 학습 가능한 키 및 값 행렬을 갖춘 LoRA로 어텐션을 구현하기 위한 Processor

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

diffusers.models.attention_processor.LoRAXFormersAttnProcessor()

소스

xFormers를 사용하여 LoRA로 어텐션을 구현하는 프로세서입니다.

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

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

diffusers.models.attention_processor.LuminaAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는) 스케일된 도트 프로덕트 어텐션을 구현하기 위한 프로세서입니다. 이는 LuminaNextDiT 모델에서 사용됩니다. 쿼리 및 키 벡터에 s 정규화 레이어와 로터리 임베딩을 적용합니다.

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

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

diffusers.models.attention_processor.MochiAttnProcessor2_0()

소스

Mochi에서 사용되는 Attention 프로세서입니다.

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

diffusers.models.attention_processor.MochiVaeAttnProcessor2_0()

소스

Mochi VAE에서 사용되는 Attention 프로세서입니다.

Sana[[diffusers.models.attention_processor.SanaLinearAttnProcessor2_0]]

diffusers.models.attention_processor.SanaLinearAttnProcessor2_0[[diffusers.models.attention_processor.SanaLinearAttnProcessor2_0]]

diffusers.models.attention_processor.SanaLinearAttnProcessor2_0()

소스

스케일된 도트-프로덕트 선형 어텐션을 구현하기 위한 프로세서

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

diffusers.models.attention_processor.SanaMultiscaleAttnProcessor2_0()

소스

멀티스케일 제곱 주의력(multiscale quadratic attention)을 구현하기 위한 프로세서입니다.

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

diffusers.models.attention_processor.PAGCFGSanaLinearAttnProcessor2_0()

소스

스케일된 도트-프로덕트 선형 어텐션을 구현하기 위한 프로세서

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

diffusers.models.attention_processor.PAGIdentitySanaLinearAttnProcessor2_0()

소스

스케일된 도트-프로덕트 선형 어텐션을 구현하기 위한 프로세서

Stable Audio[[diffusers.models.attention_processor.StableAudioAttnProcessor2_0]]

diffusers.models.attention_processor.StableAudioAttnProcessor2_0[[diffusers.models.attention_processor.StableAudioAttnProcessor2_0]]

diffusers.models.attention_processor.StableAudioAttnProcessor2_0()

소스

PyTorch 2.0을 사용하는 경우 기본적으로 활성화되는) 스케일된 도트 프로덕트 어텐션을 구현하기 위한 프로세서입니다. 이는 Stable Audio 모델에서 사용됩니다. 쿼리 및 키 벡터에 로터리 임베딩을 적용하며, MHA, GQA 또는 MQA를 지원합니다.

SlicedAttnProcessor[[diffusers.models.attention_processor.SlicedAttnProcessor]]

diffusers.models.attention_processor.SlicedAttnProcessor[[diffusers.models.attention_processor.SlicedAttnProcessor]]

diffusers.models.attention_processor.SlicedAttnProcessor(slice_size: int)

소스

매개변수:

slice_size (int, 선택 사항) : attention을 계산할 단계 수입니다. attention_head_dim // slice_size만큼의 슬라이스를 사용하며, attention_head_dim은 slice_size의 배수여야 합니다.

슬라이스드 어텐션을 구현하기 위한 프로세서

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

diffusers.models.attention_processor.SlicedAttnAddedKVProcessor(slice_size)

소스

매개변수:

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]]

diffusers.models.attention_processor.XFormersAttnProcessor(attention_op: Callable | None = None)

소스

매개변수:

attention_op (Callable, 선택 사항, 기본값 None) : attention operator로 사용할 기본 operator입니다. None으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다.

xFormers를 사용하여 메모리 효율적인 어텐션을 구현하는 프로세서.

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

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

소스

매개변수:

attention_op (Callable, 선택 사항, 기본값 None) : attention operator로 사용할 기본 operator입니다. None으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다.

xFormers를 사용하여 메모리 효율적인 어텐션을 구현하는 프로세서.

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

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

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

소스

torch_xla를 사용하는 경우 pallas flash attention 커널을 사용하여 스케일된 도트 프로덕트 어텐션을 구현하는 프로세서

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

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

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

소스

매개변수:

attention_op (Callable, 선택 사항, 기본값 None) : attention operator로 사용할 기본 operator입니다. None으로 설정하여 xFormers가 최적의 operator를 선택하도록 하는 것이 권장됩니다.

xFormers를 사용하여 메모리 효율적인 어텐션을 구현하는 프로세서.

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

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

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

소스

매개변수:

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입니다. 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]]

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

소스

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

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

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

소스

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.