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) — 각 attention head에 사용할 차원의 수입니다.
  • num_attention_heads (int, 기본값 24) — 사용할 attention head의 수입니다.
  • joint_attention_dim (int, 기본값 3584) — encoder_hidden_states의 임베딩/채널 차원)에 사용할 joint attention의 차원 수입니다.
  • guidance_embeds (bool, 기본값 False) — 모델의 guidance-distilled 변형에 guidance embeddings를 사용할지 여부입니다.
  • axes_dims_rope (tuple[int], 기본값 (16, 56, 56)) — 회전 위치 임베딩에 사용할 차원입니다.

Qwen에 소개된 Transformer 모델.

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, shape (batch_size, image_sequence_length, in_channels)) — 입력 hidden_states.
  • encoder_hidden_states (torch.Tensor, shape (batch_size, text_sequence_length, joint_attention_dim)) — 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
  • encoder_hidden_states_mask (torch.Tensor, shape (batch_size, text_sequence_length), 선택 사항) — 인코더 히든 상태에 대한 마스크입니다. 유효한 토큰은 1.0, 패딩 토큰은 0.0을 가져야 합니다. 패딩 토큰에 대한 어텐션을 방지하기 위해 어텐션 프로세서에서 사용됩니다. 어텐션에서 요소별로 적용되므로, 마스크는 연속적인 유효 토큰 뒤에 패딩이 오는 패턴 외에도 임의의 패턴을 가질 수 있습니다.
  • timestep ( torch.LongTensor) — 디노이징 단계를 나타내는 데 사용됩니다.
  • img_shapes (list[tuple[int, int, int]], 선택 사항) — RoPE 계산에 사용할 이미지 형상입니다.
  • guidance (torch.Tensor, optional) — Guidance tensor for conditional generation.
  • attention_kwargs (dict, 선택 사항) — 지정된 경우 diffusers.models.attention_processor의 self.processor에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.
  • controlnet_block_samples (선택 사항) — transformer 블록에 추가할 ControlNet 블록 샘플입니다.
  • additional_t_cond (torch.Tensor, 선택 사항) — timestep 임베딩에 추가되는 추가 timestep 조건부입니다.
  • return_dict (bool, 선택 사항, 기본값 True) — 단순 tuple 대신 ~models.transformer_2d.Transformer2DModelOutput를 반환할지 여부.

QwenTransformer2DModel의 forward 메서드입니다.

Transformer2DModelOutput

클래스 diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

매개변수

  • sample (torch.Tensor, shape (batch_size, num_channels, height, width) 또는 Transformer2DModel이 discrete인 경우 (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states 입력에 조건부인 hidden states 출력입니다. discrete인 경우, 노이즈가 제거된 latent 픽셀에 대한 확률 분포를 반환합니다.

Transformer2DModel의 출력입니다.

Update on GitHub