Diffusers documentation
QwenImageTransformer2DModel
QwenImageTransformer2DModel
Mô hình có thể được tải bằng đoạn mã sau.
from diffusers import QwenImageTransformer2DModel
transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)QwenImageTransformer2DModel
lớp 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 = (16, 56, 56)zero_cond_t: bool = Falseuse_additional_t_cond: bool = Falseuse_layer3d_rope: bool = False )
Tham số
- patch_size (
int, mặc định là2) — Kích thước patch để chuyển dữ liệu đầu vào thành các patch nhỏ. - in_channels (
int, mặc định là64) — Số lượng kênh trong đầu vào. - out_channels (
int, tùy chọn, mặc định làNone) — Số lượng kênh trong đầu ra. Nếu không được chỉ định, giá trị mặc định sẽ làin_channels. - num_layers (
int, mặc định là60) — Số lượng lớp của các khối DiT dual stream cần sử dụng. - attention_head_dim (
int, mặc định là128) — Số chiều sử dụng cho mỗi đầu chú ý (attention head). - num_attention_heads (
int, mặc định là24) — Số lượng đầu attention cần sử dụng. - joint_attention_dim (
int, mặc định là3584) — Số chiều được sử dụng cho chú ý liên hợp (chiều nhúng/kênh củaencoder_hidden_states). - guidance_embeds (
bool, mặc định làFalse) — Có sử dụng guidance embeddings cho biến thể guidance-distilled của mô hình hay không. - axes_dims_rope (
tuple[int], mặc định là(16, 56, 56)) — Các chiều cần sử dụng cho các nhúng vị trí quay (rotary positional embeddings).
Mô hình Transformer được giới thiệu trong 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 )
Tham số
- hidden_states (
torch.Tensorcó hình dạng(batch_size, image_sequence_length, in_channels)) —hidden_statesđầu vào. - encoder_hidden_states (
torch.Tensorcó hình dạng(batch_size, text_sequence_length, joint_attention_dim)) — Các embedding điều kiện (các embedding được tính toán từ các điều kiện đầu vào như prompt) cần sử dụng. - encoder_hidden_states_mask (
torch.Tensorcó hình dạng(batch_size, text_sequence_length), tùy chọn) — Mặt nạ cho các trạng thái ẩn của bộ mã hóa. Được kỳ vọng có giá trị 1.0 cho các token hợp lệ và 0.0 cho các token đệm. Được sử dụng trong bộ xử lý chú ý để ngăn việc chú ý đến các token đệm. Mặt nạ có thể có bất kỳ mẫu nào (không chỉ các token hợp lệ liên tiếp theo sau là các token đệm) vì nó được áp dụng theo từng phần tử trong chú ý. - timestep (
torch.LongTensor) — Dùng để chỉ bước khử nhiễu. - img_shapes (
list[tuple[int, int, int]], tùy chọn) — Hình dạng ảnh cho phép tính RoPE. - guidance (
torch.Tensor, tùy chọn) — Tensor hướng dẫn cho việc tạo có điều kiện. - attention_kwargs (
dict, tùy chọn) — Một từ điển kwargs, nếu được chỉ định, sẽ được truyền đếnAttentionProcessornhư đã định nghĩa dướiself.processortrong diffusers.models.attention_processor. - controlnet_block_samples (tùy chọn) — Các mẫu khối ControlNet để thêm vào các khối transformer.
- additional_t_cond (
torch.Tensor, tùy chọn) — Điều kiện bước thời gian bổ sung được thêm vào nhúng bước thời gian. - return_dict (
bool, tùy chọn, mặc định làTrue) — Có nên trả về một~models.transformer_2d.Transformer2DModelOutputthay vì một tuple thông thường hay không.
Phương thức forward của QwenTransformer2DModel.
Transformer2DModelOutput
lớp diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Tham số
- sample (
torch.Tensorcó hình dạng(batch_size, num_channels, height, width)hoặc(batch size, num_vector_embeds - 1, num_latent_pixels)nếu Transformer2DModel là rời rạc) — Trạng thái ẩn đầu ra được điều kiện bởi đầu vàoencoder_hidden_states. Nếu là rời rạc, trả về các phân phối xác suất cho các pixel tiềm ẩn không nhiễu.
Đầu ra của Transformer2DModel.