Buckets:

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

Model Transformer SD3

Model Transformer yang diperkenalkan dalam Stable Diffusion 3. Kebaruannya terletak pada blok transformer MMDiT.

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[int, ...] = (), qk_norm: str | None = None)

Sumber

Parameter:

sample_size (int, defaultnya 128) : Lebar/tinggi dari latents. Ini tetap selama pelatihan karena digunakan untuk mempelajari sejumlah position embeddings.

patch_size (int, defaultnya 2) : Ukuran patch untuk mengubah data input menjadi patch kecil.

in_channels (int, defaultnya 16) : Jumlah kanal laten pada input.

num_layers (int, defaultnya 18) : Jumlah lapisan blok transformer yang akan digunakan.

attention_head_dim (int, defaultnya 64) : Jumlah channel di setiap head.

num_attention_heads (int, defaultnya 18) : Jumlah kepala yang digunakan untuk multi-head attention.

joint_attention_dim (int, defaultnya 4096) : Dimensi embedding yang digunakan untuk perhatian gabungan teks-gambar.

caption_projection_dim (int, defaultnya 1152) : Dimensi embedding dari caption embeddings.

pooled_projection_dim (int, defaultnya 2048) : Dimensi embedding dari proyeksi teks yang dipooling.

out_channels (int, defaultnya 16) : Jumlah kanal laten dalam output.

pos_embed_max_size (int, defaultnya 96) : Tinggi/lebar maksimum laten dari positional embeddings.

dual_attention_layers (tuple[int, ...], defaultnya ()) : Jumlah blok transformer dual-stream yang akan digunakan.

qk_norm (str, opsional, defaultnya None) : Normalisasi yang digunakan untuk query dan key di lapisan perhatian. Jika None, normalisasi tidak digunakan.

Model Transformer yang diperkenalkan dalam Stable Diffusion 3.

enable_forward_chunking[[diffusers.SD3Transformer2DModel.enable_forward_chunking]]

enable_forward_chunking(chunk_size: int | None = None, dim: int = 0)

Sumber

Parameter:

chunk_size (int, opsional) : Ukuran chunk dari lapisan feed-forward. Jika tidak ditentukan, lapisan feed-forward akan dijalankan secara individual untuk setiap tensor dengan dim=dim.

dim (int, opsional, defaultnya 0) : Dimensi di mana komputasi feed-forward harus di-chunk. Pilih antara dim=0 (batch) atau dim=1 (panjang sekuens).

Menetapkan prosesor perhatian untuk menggunakan feed forward chunking.

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)

Sumber

Parameter:

hidden_states (torch.Tensor dengan bentuk (batch size, channel, height, width)) : Input hidden_states.

encoder_hidden_states (torch.Tensor dengan bentuk (batch size, sequence_len, embed_dims)) : Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan.

pooled_projections (torch.Tensor dengan bentuk (batch_size, projection_dim)) : Embeddings yang diproyeksikan dari embeddings kondisi input.

timestep (torch.LongTensor) : Digunakan untuk menunjukkan langkah denoising.

block_controlnet_hidden_states (list dari torch.Tensor) : Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual blok transformer.

joint_attention_kwargs (dict, opsional) : Kamus kwargs yang jika ditentukan akan diteruskan ke AttentionProcessor seperti yang didefinisikan di bawah self.processor dalam diffusers.models.attention_processor.

return_dict (bool, opsional, defaultnya True) : Apakah akan mengembalikan ~models.transformer_2d.Transformer2DModelOutput alih-alih tuple biasa.

skip_layers (list dari int, opsional) : Daftar indeks layer yang akan dilewati selama forward pass.

Mengembalikan:

Jika return_dict bernilai True, sebuah ~models.transformer_2d.Transformer2DModelOutput akan dikembalikan, selain itu sebuah tuple di mana elemen pertama adalah tensor sampel.

Metode forward dari SD3Transformer2DModel.

fuse_qkv_projections[[diffusers.SD3Transformer2DModel.fuse_qkv_projections]]

fuse_qkv_projections()

Sumber

Mengaktifkan proyeksi QKV yang digabungkan. Untuk modul self-attention, semua matriks proyeksi (yaitu, query, key, value) digabungkan. Untuk modul cross-attention, matriks proyeksi key dan value digabungkan.

> API ini 🧪 eksperimental.

unfuse_qkv_projections[[diffusers.SD3Transformer2DModel.unfuse_qkv_projections]]

unfuse_qkv_projections()

Sumber

Menonaktifkan proyeksi QKV yang digabungkan jika diaktifkan.

> API ini 🧪 eksperimental.

Xet Storage Details

Size:
6.11 kB
·
Xet hash:
15c3e959c60b74c8f8ea1bfe36ed9ac696c5dd843ec5cc2272d81c1c8032ffff

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.