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

O modelo pode ser carregado com o seguinte trecho de código.

from diffusers import QwenImageTransformer2DModel

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

QwenImageTransformer2DModel

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

Parâmetros

  • patch_size (int, padrão 2) — Tamanho do patch para dividir os dados de entrada em pequenos patches.
  • in_channels (int, padrão 64) — O número de canais na entrada.
  • out_channels (int, opcional, padrão None) — O número de canais na saída. Se não for especificado, o padrão é in_channels.
  • num_layers (int, padrão 60) — O número de blocos DiT de fluxo duplo a serem usados.
  • attention_head_dim (int, padrão 128) — O número de dimensões a serem usadas para cada cabeça de atenção.
  • num_attention_heads (int, padrão 24) — O número de cabeças de atenção a serem usadas.
  • joint_attention_dim (int, padrão 3584) — O número de dimensões a serem usadas para a atenção conjunta (dimensão de incorporação/canal de encoder_hidden_states).
  • guidance_embeds (bool, padrão False) — Se deve usar embeddings de orientação para a variante destilada por orientação do modelo.
  • axes_dims_rope (tuple[int], padrão (16, 56, 56)) — As dimensões a serem usadas para os embeddings posicionais rotativos.

O modelo Transformer introduzido no 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 )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, image_sequence_length, in_channels)) — hidden_states de entrada.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, text_sequence_length, joint_attention_dim)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • encoder_hidden_states_mask (torch.Tensor de forma (batch_size, text_sequence_length), opcional) — Máscara para os estados ocultos do codificador. Espera-se que tenha 1.0 para tokens válidos e 0.0 para tokens de preenchimento. Usada no processador de atenção para impedir a atenção a tokens de preenchimento. A máscara pode ter qualquer padrão (não apenas tokens válidos contíguos seguidos de preenchimento), pois é aplicada elemento a elemento na atenção.
  • timestep ( torch.LongTensor) — Usado para indicar o passo de desruido.
  • img_shapes (list[tuple[int, int, int]], opcional) — Formas das imagens para o cálculo do RoPE.
  • guidance (torch.Tensor, opcional) — Tensor de orientação para geração condicional.
  • attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • controlnet_block_samples (opcional) — Amostras de blocos do ControlNet a serem adicionadas aos blocos do transformer.
  • additional_t_cond (torch.Tensor, opcional) — Condição de passo de tempo adicional adicionada ao incorporamento do passo de tempo.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

O método forward do QwenTransformer2DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) se Transformer2DModel for discreto) — A saída dos estados ocultos condicionada à entrada encoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.

A saída de Transformer2DModel.

Update on GitHub