Diffusers documentation

QwenImageTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

QwenImageTransformer2DModel

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import QwenImageTransformer2DModel

transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)

QwenImageTransformer2DModel

класс diffusers.QwenImageTransformer2DModel

< >

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

Параметры

  • patch_size (int, по умолчанию 2) — Размер патча для разбиения входных данных на небольшие патчи.
  • in_channels (int, по умолчанию 64) — Количество каналов на входе.
  • out_channels (int, необязательный, по умолчанию None) — Количество каналов на выходе. Если не указано, по умолчанию равно in_channels.
  • num_layers (int, по умолчанию 60) — Количество используемых блоков dual stream DiT.
  • attention_head_dim (int, по умолчанию 128) — Количество измерений, используемых для каждой головы внимания.
  • num_attention_heads (int, по умолчанию 24) — Количество используемых голок внимания.
  • joint_attention_dim (int, по умолчанию 3584) — Количество измерений, используемых для совместного внимания (размерность встраивания/канала для encoder_hidden_states).
  • guidance_embeds (bool, по умолчанию False) — Использовать ли guidance embeddings для варианта модели, дистиллированного с помощью guidance.
  • axes_dims_rope (tuple[int], по умолчанию (16, 56, 56)) — Размерности, используемые для вращательных позиционных эмбеддингов.

Модель Transformer, представленная в Qwen.

forward

< >

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

Параметры

  • hidden_states (torch.Tensor формы (batch_size, image_sequence_length, in_channels)) — Входные hidden_states.
  • encoder_hidden_states (torch.Tensor формы (batch_size, text_sequence_length, joint_attention_dim)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • encoder_hidden_states_mask (torch.Tensor формы (batch_size, text_sequence_length), необязательный) — Маска для скрытых состояний энкодера. Ожидается, что для валидных токенов значение будет 1.0, а для токенов отступов — 0.0. Используется в процессоре внимания, чтобы предотвратить внимание к токенам отступов. Маска может иметь любой паттерн (не только непрерывные валидные токены, за которыми следуют отступы), поскольку она применяется поэлементно во внимании.
  • timestep ( torch.LongTensor) — Используется для указания шага денойзинга.
  • img_shapes (list[tuple[int, int, int]], необязательный) — Формы изображений для вычисления RoPE.
  • guidance (torch.Tensor, необязательный) — Тензор для условной генерации.
  • attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • controlnet_block_samples (необязательный) — Образцы блоков ControlNet для добавления к блокам трансформера.
  • additional_t_cond (torch.Tensor, необязательный) — Дополнительное условие по шагу времени, добавляемое к эмбеддингу шага времени.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

Метод forward модели QwenTransformer2DModel.

Transformer2DModelOutput

класс diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.

Вывод Transformer2DModel.

Update on GitHub