Diffusers documentation

Dikkat İşleyicisi

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Dikkat İşleyicisi

Bir dikkat işlemcisi, farklı türde dikkat mekanizmalarını uygulamak için kullanılan bir sınıftır.

AttnProcessor

sınıf diffusers.models.attention_processor.AttnProcessor

< >

( )

Dikkatle ilgili hesaplamaları gerçekleştirmek için varsayılan işlemci.

sınıf diffusers.models.attention_processor.AttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini uygulayan işlemci (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir).

sınıf diffusers.models.attention_processor.AttnAddedKVProcessor

< >

( )

Metin kodlayıcı için ek öğrenilebilir anahtar ve değer matrisleriyle dikkat ile ilgili hesaplamaları gerçekleştirmek için kullanılan işlemci

sınıf diffusers.models.attention_processor.AttnAddedKVProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir) gerçekleştirmek için işlemci, metin kodlayıcı için ek öğrenilebilir anahtar ve değer matrisleri ile.

sınıf diffusers.models.attention_processor.AttnProcessorNPU

< >

( )

torch_npu kullanarak flash attention uygulaması için işlemci. Torch_npu yalnızca fp16 ve bf16 veri türlerini destekler. fp32 kullanılırsa, hesaplama için F.scaled_dot_product_attention kullanılır, ancak NPU üzerindeki hızlandırma etkisi belirgin değildir.

sınıf diffusers.models.attention_processor.FusedAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Birleşik projeksiyon katmanları kullanır. Kendi-dikkat modülleri için tüm projeksiyon matrisleri (yani sorgu, anahtar, değer) birleştirilir. Çapraz-dikkat modülleri için anahtar ve değer projeksiyon matrisleri birleştirilir.

> Bu API şu anda 🧪 deneysel niteliktedir ve gelecekte değişebilir.

Allegro

sınıf diffusers.models.attention_processor.AllegroAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Bu, Allegro modelinde kullanılır. Sorgu ve anahtar vektörlerine bir normalizasyon katmanı ve döner gömme uygular.

AuraFlow

sınıf diffusers.models.attention_processor.AuraFlowAttnProcessor2_0

< >

( )

Genellikle Aura Flow işlemlerinde kullanılan dikkat işlemcisi.

sınıf diffusers.models.attention_processor.FusedAuraFlowAttnProcessor2_0

< >

( )

Genellikle füzyonlu projeksiyonlarla Aura Flow işlenmesinde kullanılan dikkat işlemcisi.

CogVideoX

sınıf diffusers.models.attention_processor.CogVideoXAttnProcessor2_0

< >

( )

CogVideoX modeli için ölçekli nokta çarpımı dikkatini (scaled dot-product attention) uygulamak üzere işleyici (processor). Sorgu ve anahtar vektörlerine döner gömme (rotary embedding) uygular ancak uzamsal normalizasyon içermez.

sınıf diffusers.models.attention_processor.FusedCogVideoXAttnProcessor2_0

< >

( )

CogVideoX modeli için ölçekli nokta çarpımı dikkatini (scaled dot-product attention) uygulamak üzere işleyici (processor). Sorgu ve anahtar vektörlerine döner gömme (rotary embedding) uygular ancak uzamsal normalizasyon içermez.

DreamLite

sınıf diffusers.models.unets.unet_dreamlite.DreamLiteAttnProcessor2_0

< >

( )

Grouped Query Attention (GQA / MQA) desteğiyle ölçekli nokta çarpımı dikkatini (scaled dot-product attention) uygulamak için işlemci.

AttnProcessor2_0 ile aynıdır; ancak anahtar/değer yeniden şekillendirme dalı, K/V'yi kv_heads olarak yeniden şekillendirip ardından repeat_interleave ile attn.heads değerine kadar çoğaltarak attn.kv_heads != attn.heads durumunu doğru şekilde ele alır. Bu, GQA'yı qk_norm ile birleştiren DreamLite UNet için gereklidir; varsayılan AttnProcessor2_0 bu kombinasyonu desteklemez. SDPA, diffusers dikkat arka uçlarından herhangi birinin (yerel PyTorch SDPA, FlashAttention vb.) kullanılabilmesi için dispatch_attention_fn işlevine devredilir.

Özel Difüzyon

sınıf diffusers.models.attention_processor.CustomDiffusionAttnProcessor

< >

( train_kv: bool = Truetrain_q_out: bool = Truehidden_size: int | None = Nonecross_attention_dim: int | None = Noneout_bias: bool = Truedropout: float = 0.0 )

Parametreler

  • train_kv (bool, varsayılan True) — Metin özelliklerine karşılık gelen anahtar ve değer matrislerinin yeni olarak eğitilip eğitilmeyeceğini belirtir.
  • train_q_out (bool, varsayılan True) — Gizli görüntü özelliklerine karşılık gelen sorgu matrislerinin yeni olarak eğitilip eğitilmeyeceği.
  • hidden_size (int, isteğe bağlı, varsayılan None) — Dikkat katmanının gizli boyutu.
  • cross_attention_dim (int, isteğe bağlı, varsayılan None) — encoder_hidden_states içindeki kanal sayısı.
  • out_bias (bool, varsayılan True) — train_q_out içinde bias parametresinin dahil edilip edilmeyeceğini belirtir.
  • dropout (float, isteğe bağlı, varsayılan 0.0) — Kullanılacak dropout olasılığı.

Custom Diffusion yöntemi için dikkat (attention) uygulamasını gerçekleştiren işlemci (processor).

sınıf diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0

< >

( train_kv: bool = Truetrain_q_out: bool = Truehidden_size: int | None = Nonecross_attention_dim: int | None = Noneout_bias: bool = Truedropout: float = 0.0 )

Parametreler

  • train_kv (bool, varsayılan True) — Metin özelliklerine karşılık gelen anahtar ve değer matrislerinin yeni olarak eğitilip eğitilmeyeceğini belirtir.
  • train_q_out (bool, varsayılan True) — Gizli görüntü özelliklerine karşılık gelen sorgu matrislerinin yeni olarak eğitilip eğitilmeyeceği.
  • hidden_size (int, isteğe bağlı, varsayılan None) — Dikkat katmanının gizli boyutu.
  • cross_attention_dim (int, isteğe bağlı, varsayılan None) — encoder_hidden_states içindeki kanal sayısı.
  • out_bias (bool, varsayılan True) — train_q_out içinde bias parametresinin dahil edilip edilmeyeceğini belirtir.
  • dropout (float, isteğe bağlı, varsayılan 0.0) — Kullanılacak dropout olasılığı.

PyTorch 2.0'ın bellek verimli ölçekli nokta çarpımı dikkatini kullanarak Custom Diffusion yöntemi için dikkat uygulayan işlemci.

sınıf diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor

< >

( train_kv: bool = Truetrain_q_out: bool = Falsehidden_size: int | None = Nonecross_attention_dim: int | None = Noneout_bias: bool = Truedropout: float = 0.0attention_op: Callable | None = None )

Parametreler

  • train_kv (bool, varsayılan True) — Metin özelliklerine karşılık gelen anahtar ve değer matrislerinin yeni olarak eğitilip eğitilmeyeceğini belirtir.
  • train_q_out (bool, varsayılan True) — Gizli görüntü özelliklerine karşılık gelen sorgu matrislerinin yeni olarak eğitilip eğitilmeyeceği.
  • hidden_size (int, isteğe bağlı, varsayılan None) — Dikkat katmanının gizli boyutu.
  • cross_attention_dim (int, isteğe bağlı, varsayılan None) — encoder_hidden_states içindeki kanal sayısı.
  • out_bias (bool, varsayılan True) — train_q_out içinde bias parametresinin dahil edilip edilmeyeceğini belirtir.
  • dropout (float, isteğe bağlı, varsayılan 0.0) — Kullanılacak dropout olasılığı.
  • attention_op (Callable, isteğe bağlı, varsayılan None) — Dikkat operatörü olarak kullanılacak temel operatör. En iyi operatörü seçmesi için xFormers'a bırakmak üzere None olarak ayarlanması önerilir.

Custom Diffusion yöntemi için xFormers kullanarak bellek verimli dikkat (attention) uygulayan işlemci (Processor).

Flux

sınıf diffusers.models.attention_processor.FluxAttnProcessor2_0

< >

( *args**kwargs )

sınıf diffusers.models.attention_processor.FusedFluxAttnProcessor2_0

< >

( *args**kwargs )

sınıf diffusers.models.attention_processor.FluxSingleAttnProcessor2_0

< >

( *args**kwargs )

Ölçekli nokta çarpımı dikkatini uygulayan işlemci (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir).

Hunyuan

sınıf diffusers.models.attention_processor.HunyuanAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Bu, HunyuanDiT modelinde kullanılır. Sorgu ve anahtar vektörlerine bir s normalizasyon katmanı ve döner gömme uygular.

sınıf diffusers.models.attention_processor.FusedHunyuanAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir) füzyonlu projeksiyon katmanlarıyla uygulayan işlemci. Bu, HunyuanDiT modelinde kullanılır. Sorgu ve anahtar vektörlerine bir s normalizasyon katmanı ve döner gömme uygular.

sınıf diffusers.models.attention_processor.PAGHunyuanAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Bu, HunyuanDiT modelinde kullanılır. Sorgu ve anahtar vektörlerine bir normalizasyon katmanı ve döner gömme uygular. Bu işlemci varyantı Pertubed Attention Guidance kullanır.

sınıf diffusers.models.attention_processor.PAGCFGHunyuanAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Bu, HunyuanDiT modelinde kullanılır. Sorgu ve anahtar vektörlerine bir normalizasyon katmanı ve döner gömme uygular. Bu işlemci varyantı Pertubed Attention Guidance kullanır.

IdentitySelfAttnProcessor2_0

sınıf diffusers.models.attention_processor.PAGIdentitySelfAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkati kullanarak PAG uygulaması için işlemci (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir). PAG referansı: https://huggingface.co/papers/2403.17377

sınıf diffusers.models.attention_processor.PAGCFGIdentitySelfAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkati kullanarak PAG uygulaması için işlemci (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir). PAG referansı: https://huggingface.co/papers/2403.17377

IP-Adapter

sınıf diffusers.models.attention_processor.IPAdapterAttnProcessor

< >

( hidden_sizecross_attention_dim = Nonenum_tokens = (4,)scale = 1.0 )

Parametreler

  • hidden_size (int) — Dikkat katmanının gizli boyutu.
  • cross_attention_dim (int) — encoder_hidden_states içindeki kanal sayısı.
  • num_tokens (int, tuple[int] veya list[int], varsayılan (4,)) — Görsel özelliklerin bağlam uzunluğu.
  • scale (float veya listfloat, varsayılan 1.0) — görsel isteminin ağırlık ölçeği.

Çoklu IP-Adapters için dikkat işlemcisi.

sınıf diffusers.models.attention_processor.IPAdapterAttnProcessor2_0

< >

( hidden_sizecross_attention_dim = Nonenum_tokens = (4,)scale = 1.0 )

Parametreler

  • hidden_size (int) — Dikkat katmanının gizli boyutu.
  • cross_attention_dim (int) — encoder_hidden_states içindeki kanal sayısı.
  • num_tokens (int, tuple[int] veya list[int], varsayılan (4,)) — Görsel özelliklerin bağlam uzunluğu.
  • scale (float veya list[float], varsayılan 1.0) — görsel isteminin ağırlık ölçeği.

PyTorch 2.0 için IP-Adapter dikkat işleyicisi.

sınıf diffusers.models.attention_processor.SD3IPAdapterJointAttnProcessor2_0

< >

( hidden_size: intip_hidden_states_dim: inthead_dim: inttimesteps_emb_dim: int = 1280scale: float = 0.5 )

Parametreler

  • hidden_size (int) — Gizli kanal sayısı.
  • ip_hidden_states_dim (int) — Görsel özellik boyutu.
  • head_dim (int) — Baş kanal sayısı.
  • timesteps_emb_dim (int, varsayılan 1280) — Zaman adımı gömme için giriş kanal sayısı.
  • scale (float, varsayılan 0.5) — IP-Adapter ölçeği.

Genellikle SD3 benzeri öz-dikkat projeksiyonlarının işlenmesinde, ek görüntü tabanlı bilgiler ve zaman adımı gömme (embedding) bilgileriyle birlikte kullanılan IP-Adapter için dikkat (attention) işleyicisi.

JointAttnProcessor2_0

sınıf diffusers.models.attention_processor.JointAttnProcessor2_0

< >

( )

Genellikle SD3 benzeri öz-dikkat projeksiyonlarını işlerken kullanılan dikkat işlemcisi.

sınıf diffusers.models.attention_processor.PAGJointAttnProcessor2_0

< >

( )

Genellikle SD3 benzeri öz-dikkat projeksiyonlarını işlerken kullanılan dikkat işlemcisi.

sınıf diffusers.models.attention_processor.PAGCFGJointAttnProcessor2_0

< >

( )

Genellikle SD3 benzeri öz-dikkat projeksiyonlarını işlerken kullanılan dikkat işlemcisi.

sınıf diffusers.models.attention_processor.FusedJointAttnProcessor2_0

< >

( )

Genellikle SD3 benzeri öz-dikkat projeksiyonlarını işlerken kullanılan dikkat işlemcisi.

LoRA

sınıf diffusers.models.attention_processor.LoRAAttnProcessor

< >

( )

LoRA ile dikkat (attention) uygulaması için işlemci.

sınıf diffusers.models.attention_processor.LoRAAttnProcessor2_0

< >

( )

LoRA ile dikkat (attention) uygulamasını gerçekleştiren işlemci (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkinleştirilir).

sınıf diffusers.models.attention_processor.LoRAAttnAddedKVProcessor

< >

( )

Metin kodlayıcı için ek öğrenilebilir anahtar ve değer matrislerine sahip LoRA ile dikkat uygulamasını gerçekleştiren işlemci.

sınıf diffusers.models.attention_processor.LoRAXFormersAttnProcessor

< >

( )

xFormers kullanarak LoRA ile dikkat (attention) uygulaması için işlemci.

Lumina-T2X

sınıf diffusers.models.attention_processor.LuminaAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Bu, LuminaNextDiT modelinde kullanılır. Sorgu ve anahtar vektörlerine bir s normalizasyon katmanı ve döner gömme uygular.

Mochi

sınıf diffusers.models.attention_processor.MochiAttnProcessor2_0

< >

( )

Mochi'de kullanılan dikkat işlemcisi.

sınıf diffusers.models.attention_processor.MochiVaeAttnProcessor2_0

< >

( )

Mochi VAE'de kullanılan dikkat işlemcisi.

Sana

sınıf diffusers.models.attention_processor.SanaLinearAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı doğrusal dikkati uygulayan işlemci.

sınıf diffusers.models.attention_processor.SanaMultiscaleAttnProcessor2_0

< >

( )

Çok ölçekli kuadratik dikkat (quadratic attention) uygulaması için işlemci.

sınıf diffusers.models.attention_processor.PAGCFGSanaLinearAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı doğrusal dikkati uygulayan işlemci.

sınıf diffusers.models.attention_processor.PAGIdentitySanaLinearAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı doğrusal dikkati uygulayan işlemci.

Stable Audio

sınıf diffusers.models.attention_processor.StableAudioAttnProcessor2_0

< >

( )

Ölçekli nokta çarpımı dikkatini (PyTorch 2.0 kullanıyorsanız varsayılan olarak etkin) uygulayan işlemci. Bu, Stable Audio modelinde kullanılır. Sorgu ve anahtar vektörlerine döner gömme uygular ve MHA, GQA veya MQA'ya izin verir.

SlicedAttnProcessor

sınıf diffusers.models.attention_processor.SlicedAttnProcessor

< >

( slice_size: int )

Parametreler

  • slice_size (int, isteğe bağlı) — Dikkat (attention) hesaplanacak adım sayısı. attention_head_dim // slice_size kadar dilim kullanır ve attention_head_dim, slice_size'in katı olmalıdır.

Dilimlenmiş dikkat (sliced attention) uygulaması için işlemci.

sınıf diffusers.models.attention_processor.SlicedAttnAddedKVProcessor

< >

( slice_size )

Parametreler

  • slice_size (int, isteğe bağlı) — Dikkat (attention) hesaplanacak adım sayısı. attention_head_dim // slice_size kadar dilim kullanır ve attention_head_dim, slice_size'in katı olmalıdır.

Metin kodlayıcı için ek öğrenilebilir anahtar ve değer matrisleriyle dilimlenmiş dikkat (sliced attention) uygulayan işlemci.

XFormersAttnProcessor

sınıf diffusers.models.attention_processor.XFormersAttnProcessor

< >

( attention_op: Callable | None = None )

Parametreler

  • attention_op (Callable, isteğe bağlı, varsayılan None) — Dikkat operatörü olarak kullanılacak temel operatör. En iyi operatörü seçmesi için xFormers'a bırakmak üzere None olarak ayarlanması önerilir.

xFormers kullanarak bellek verimli dikkat (attention) uygulaması için işlemci.

sınıf diffusers.models.attention_processor.XFormersAttnAddedKVProcessor

< >

( attention_op: Callable | None = None )

Parametreler

  • attention_op (Callable, isteğe bağlı, varsayılan None) — Dikkat operatörü olarak kullanılacak temel operatör. En iyi operatörü seçmesi için xFormers'a bırakmak üzere None olarak ayarlanması önerilir.

xFormers kullanarak bellek verimli dikkat (attention) uygulaması için işlemci.

XLAFlashAttnProcessor2_0

sınıf diffusers.models.attention_processor.XLAFlashAttnProcessor2_0

< >

( partition_spec: tuple[str | None, ...] | None = None )

torch_xla kullanılıyorsa pallas flash attention çekirdeği ile ölçekli nokta çarpımı dikkatini uygulayan işlemci.

XFormersJointAttnProcessor

sınıf diffusers.models.attention_processor.XFormersJointAttnProcessor

< >

( attention_op: Callable | None = None )

Parametreler

  • attention_op (Callable, isteğe bağlı, varsayılan None) — Dikkat operatörü olarak kullanılacak temel operatör. En iyi operatörü seçmesi için xFormers'a bırakmak üzere None olarak ayarlanması önerilir.

xFormers kullanarak bellek verimli dikkat (attention) uygulaması için işlemci.

IPAdapterXFormersAttnProcessor

sınıf diffusers.models.attention_processor.IPAdapterXFormersAttnProcessor

< >

( hidden_sizecross_attention_dim = Nonenum_tokens = (4,)scale = 1.0attention_op: Callable | None = None )

Parametreler

  • hidden_size (int) — Dikkat katmanının gizli boyutu.
  • cross_attention_dim (int) — encoder_hidden_states içindeki kanal sayısı.
  • num_tokens (int, tuple[int] veya list[int], varsayılan (4,)) — Görsel özelliklerin bağlam uzunluğu.
  • scale (float veya list[float], varsayılan 1.0) — görsel isteminin ağırlık ölçeği.
  • attention_op (Callable, isteğe bağlı, varsayılan None) — Dikkat operatörü olarak kullanılacak temel operatör. En iyi operatörü seçmesi için xFormers'a bırakmak üzere None olarak ayarlanması önerilir.

xFormers kullanan IP-Adapter için dikkat işlemcisi.

FluxIPAdapterJointAttnProcessor2_0

sınıf diffusers.models.attention_processor.FluxIPAdapterJointAttnProcessor2_0

< >

( *args**kwargs )

XLAFluxFlashAttnProcessor2_0

sınıf diffusers.models.attention_processor.XLAFluxFlashAttnProcessor2_0

< >

( *args**kwargs )

torch_xla kullanılıyorsa pallas flash attention çekirdeği ile ölçekli nokta çarpımı dikkatini uygulayan işlemci.

Update on GitHub