Buckets:
SD3 Dönüştürücü Modeli
Stable Diffusion 3'te tanıtılan Transformer modeli. Yeniliği, MMDiT transformer bloğunda yatar.
SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]]
diffusers.SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]]
diffusers.SD3Transformer2DModel(sample_size: int = 128, patch_size: int = 2, in_channels: int = 16, num_layers: int = 18, attention_head_dim: int = 64, num_attention_heads: int = 18, joint_attention_dim: int = 4096, caption_projection_dim: int = 1152, pooled_projection_dim: int = 2048, out_channels: int = 16, pos_embed_max_size: int = 96, dual_attention_layers: tuple = (), qk_norm: str | None = None)
Parametreler:
sample_size (int, varsayılan 128) : Latentlerin genişlik/yüksekliği. Bu, pozisyon gömme sayısını öğrenmek için kullanıldığından eğitim sırasında sabittir.
patch_size (int, varsayılan 2) : Girdi verisini küçük yamalar (patch) haline getirmek için kullanılan 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 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) : Havuzlanmış 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 yüksek 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[[diffusers.SD3Transformer2DModel.enable_forward_chunking]]
enable_forward_chunking(chunk_size: int | None = None, dim: int = 0)
Parametreler:
chunk_size (int, opsiyonel) : Feed-forward katmanlarının parça boyutu. Belirtilmezse, feed-forward katmanı dim boyutlu her tensör üzerinde ayrı ayrı çalıştırılır.
dim (int, isteğe bağlı, varsayılan 0) : Feed-forward hesaplamanın parçalanacağı boyut. dim=0 (batch) veya dim=1 (sequence length) arasında seçim yapın.
Dikkat işleyicisini feed forward chunking kullanacak şekilde ayarlar.
forward[[diffusers.SD3Transformer2DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: Tensor = None, pooled_projections: Tensor = None, timestep: LongTensor = None, block_controlnet_hidden_states: list = None, joint_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, skip_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ömlemeler (giriş koşullarından, örneğin istemlerden hesaplanan gömlemeler).
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çinde 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ülmediğini belirtir.
skip_layers (list of int, opsiyonel) : İleri geçiş sırasında atlanacak katman indekslerinin listesi.
Dönüş:
return_dict True ise, ~models.transformer_2d.Transformer2DModelOutput döndürülür, aksi takdirde ilk öğesi örnek tensörü olan bir tuple döndürülür.
SD3Transformer2DModel ileri yöntemi.
fuse_qkv_projections[[diffusers.SD3Transformer2DModel.fuse_qkv_projections]]
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[[diffusers.SD3Transformer2DModel.unfuse_qkv_projections]]
unfuse_qkv_projections()
Etkinleştirilmişse birleşik QKV projeksiyonunu devre dışı bırakır.
> Bu API 🧪 deneyseldir.
Xet Storage Details
- Size:
- 6.31 kB
- Xet hash:
- 9af3808e8fe8ffa65a347d3660ca0738539331b502e6e228bbcb6da467e2244d
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.