Buckets:

hf-doc-build/doc / diffusers /main /tr /api /models /sd3_transformer2d.md
mishig's picture
|
download
raw
6.31 kB

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)

Kaynak

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)

Kaynak

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)

Kaynak

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()

Kaynak

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()

Kaynak

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.