Diffusers documentation
QwenImageTransformer2DModel
QwenImageTransformer2DModel
Model dapat dimuat dengan potongan kode berikut.
from diffusers import QwenImageTransformer2DModel
transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)QwenImageTransformer2DModel
kelas diffusers.QwenImageTransformer2DModel
< source >( patch_size: int = 2in_channels: int = 64out_channels: int | None = 16num_layers: int = 60attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 3584guidance_embeds: bool = Falseaxes_dims_rope: tuple[int, int, int] = (16, 56, 56)zero_cond_t: bool = Falseuse_additional_t_cond: bool = Falseuse_layer3d_rope: bool = False )
Parameter
- patch_size (
int, defaultnya2) — Ukuran patch untuk mengubah data input menjadi patch kecil. - in_channels (
int, defaultnya64) — Jumlah channel pada input. - out_channels (
int, opsional, defaultnyaNone) — Jumlah channel pada output. Jika tidak ditentukan, defaultnya adalahin_channels. - num_layers (
int, defaultnya60) — Jumlah lapisan blok DiT dual stream yang akan digunakan. - attention_head_dim (
int, defaultnya128) — Jumlah dimensi yang digunakan untuk setiap kepala perhatian (attention head). - num_attention_heads (
int, defaultnya24) — Jumlah attention heads yang akan digunakan. - joint_attention_dim (
int, defaultnya3584) — Jumlah dimensi yang digunakan untuk joint attention (dimensi embedding/channel dariencoder_hidden_states). - guidance_embeds (
bool, defaultnyaFalse) — Apakah akan menggunakan guidance embeddings untuk varian model yang telah melalui guidance-distillation. - axes_dims_rope (
tuple[int], defaultnya(16, 56, 56)) — Dimensi yang digunakan untuk penyematan posisi rotasi.
Model Transformer yang diperkenalkan dalam Qwen.
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensor = Noneencoder_hidden_states_mask: Tensor = Nonetimestep: LongTensor = Noneimg_shapes: list[tuple[int, int, int]] | None = Noneguidance: Tensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Noneadditional_t_cond = Nonereturn_dict: bool = True )
Parameter
- hidden_states (
torch.Tensordengan bentuk(batch_size, image_sequence_length, in_channels)) —hidden_statesmasukan. - encoder_hidden_states (
torch.Tensordengan bentuk(batch_size, text_sequence_length, joint_attention_dim)) — Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan. - encoder_hidden_states_mask (
torch.Tensordengan bentuk(batch_size, text_sequence_length), opsional) — Mask untuk encoder hidden states. Diharapkan memiliki nilai 1.0 untuk token valid dan 0.0 untuk token padding. Digunakan dalam attention processor untuk mencegah perhatian terhadap token padding. Mask dapat memiliki pola apa pun (tidak hanya token valid yang berurutan diikuti oleh padding) karena diterapkan secara element-wise dalam attention. - timestep (
torch.LongTensor) — Digunakan untuk menunjukkan langkah denoising. - img_shapes (
list[tuple[int, int, int]], opsional) — Bentuk gambar untuk komputasi RoPE. - guidance (
torch.Tensor, opsional) — Tensor panduan untuk generasi kondisional. - attention_kwargs (
dict, opsional) — Kamus kwargs yang jika ditentukan akan diteruskan keAttentionProcessorseperti yang didefinisikan di bawahself.processordalam diffusers.models.attention_processor. - controlnet_block_samples (opsional) — Contoh blok ControlNet untuk ditambahkan ke blok transformer.
- additional_t_cond (
torch.Tensor, opsional) — Kondisi timestep tambahan yang ditambahkan ke embedding timestep. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikan~models.transformer_2d.Transformer2DModelOutputalih-alih tuple biasa.
Metode forward dari QwenTransformer2DModel.
Transformer2DModelOutput
kelas diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parameter
- sample (
torch.Tensordengan bentuk(batch_size, num_channels, height, width)atau(batch size, num_vector_embeds - 1, num_latent_pixels)jika Transformer2DModel bersifat diskrit) — Output hidden states yang dikondisikan pada inputencoder_hidden_states. Jika diskrit, mengembalikan distribusi probabilitas untuk latent pixels yang tidak berisik.
Output dari Transformer2DModel.