Diffusers documentation

SD3 Dönüştürücü Modeli

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

SD3 Dönüştürücü Modeli

Stable Diffusion 3'te tanıtılan Transformer modeli. Yeniliği, MMDiT transformer bloğunda yatar.

SD3Transformer2DModel

sınıf diffusers.SD3Transformer2DModel

< >

( sample_size: int = 128patch_size: int = 2in_channels: int = 16num_layers: int = 18attention_head_dim: int = 64num_attention_heads: int = 18joint_attention_dim: int = 4096caption_projection_dim: int = 1152pooled_projection_dim: int = 2048out_channels: int = 16pos_embed_max_size: int = 96dual_attention_layers: tuple = ()qk_norm: str | None = None )

Parametreler

  • sample_size (int, varsayılan 128) — Latentlerin genişlik/yüksekliği. Eğitim sırasında sabittir çünkü bir dizi konum gömme (position embedding) öğrenmek için kullanılır.
  • patch_size (int, varsayılan 2) — Girdi verisini küçük yamalar (patch) haline getirmek için yama boyutu.
  • in_channels (int, varsayılan 16) — Girdideki gizli kanal sayısı.
  • num_layers (int, varsayılan 18) — Kullanılacak transformer bloğu katman sayısı.
  • attention_head_dim (int, varsayılan 64) — Her baştaki kanal sayısı.
  • num_attention_heads (int, varsayılan 18) — Çok başlı dikkat (multi-head attention) için kullanılacak baş sayısı.
  • joint_attention_dim (int, varsayılan 4096) — Ortak metin-görsel dikkati için kullanılacak gömme boyutu.
  • caption_projection_dim (int, varsayılan 1152) — Başlık gömme vektörlerinin gömme boyutu.
  • pooled_projection_dim (int, varsayılan 2048) — Toplanmış metin projeksiyonlarının gömme boyutu.
  • out_channels (int, varsayılan 16) — Çıktıdaki gizli kanal sayısı.
  • pos_embed_max_size (int, varsayılan 96) — Konumsal gömme (positional embeddings) için en büyük gizli (latent) yükseklik/genişlik.
  • dual_attention_layers (tuple[int, ...], varsayılan ()) — Kullanılacak çift akışlı dönüştürücü bloklarının sayısı.
  • qk_norm (str, isteğe bağlı, varsayılan None) — Dikkat katmanında sorgu ve anahtar için kullanılacak normalizasyon. None ise normalizasyon kullanılmaz.

Stable Diffusion 3'te tanıtılan Transformer modeli.

enable_forward_chunking

< >

( chunk_size: int | None = Nonedim: int = 0 )

Parametreler

  • chunk_size (int, isteğe bağlı) — İleri besleme katmanlarının parça boyutu. Belirtilmezse, ileri besleme katmanı dim boyutlu her tensör üzerinde ayrı ayrı çalıştırılır.
  • dim (int, isteğe bağlı, varsayılan 0) — İleri besleme (feed-forward) hesabının parçalanacağı boyut. dim=0 (batch) veya dim=1 (dizi uzunluğu) arasında seçim yapın.

Dikkat işleyicisini ileri besleme parçalama kullanacak şekilde ayarlar.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonepooled_projections: Tensor = Nonetimestep: LongTensor = Noneblock_controlnet_hidden_states: list = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueskip_layers: list[int] | None = None )

Parametreler

  • hidden_states (torch.Tensor, şekli (batch size, channel, height, width)) — Girdi hidden_states.
  • encoder_hidden_states (torch.Tensor, şekli (batch size, sequence_len, embed_dims)) — Kullanılacak koşullu gömme değerleri (prompt gibi girdi koşullarından hesaplanan gömme değerleri).
  • pooled_projections (torch.Tensor, şekli (batch_size, projection_dim)) — Girdi koşullarının gömülme değerlerinden yansıtılan gömülme değerleri.
  • timestep (torch.LongTensor) — Gürültü azaltma adımını belirtmek için kullanılır.
  • block_controlnet_hidden_states (list of torch.Tensor) — Belirtilirse, transformer bloklarının artıklarına eklenen tensörlerin listesi.
  • joint_attention_kwargs (dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindeki self.processor altında tanımlanan AttentionProcessor'a iletilen bir kwargs sözlüğü.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~models.transformer_2d.Transformer2DModelOutput döndürülüp döndürülmemesi.
  • skip_layers (list of int, isteğe bağlı) — İleri geçiş sırasında atlanacak katman indekslerinin listesi.

SD3Transformer2DModel ileri yöntemi.

fuse_qkv_projections

< >

( )

Füzyonlu QKV projeksiyonlarını etkinleştirir. Kendi dikkat (self-attention) modülleri için tüm projeksiyon matrisleri (yani sorgu, anahtar, değer) füzyonlanır. Çapraz dikkat (cross-attention) modülleri için anahtar ve değer projeksiyon matrisleri füzyonlanır.

> Bu API 🧪 deneyseldir.

unfuse_qkv_projections

< >

( )

Etkinleştirilmişse birleşik QKV projeksiyonunu devre dışı bırakır.

> Bu API 🧪 deneyseldir.

Update on GitHub