Diffusers documentation

HunyuanImageTransformer2DModel

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

HunyuanImageTransformer2DModel

Модель Diffusion Transformer для HunyuanImage2.1.

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

from diffusers import HunyuanImageTransformer2DModel

transformer = HunyuanImageTransformer2DModel.from_pretrained("hunyuanvideo-community/HunyuanImage-2.1-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

HunyuanImageTransformer2DModel

класс diffusers.HunyuanImageTransformer2DModel

< >

( in_channels: int = 64out_channels: int = 64num_attention_heads: int = 28attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_refiner_layers: int = 2mlp_ratio: float = 4.0patch_size: tuple = (1, 1)qk_norm: str = 'rms_norm'guidance_embeds: bool = Falsetext_embed_dim: int = 3584text_embed_2_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: tuple = (64, 64)use_meanflow: bool = False )

Параметры

  • in_channels (int, по умолчанию 16) — Количество каналов на входе.
  • out_channels (int, по умолчанию 16) — Количество каналов на выходе.
  • num_attention_heads (int, по умолчанию 24) — Количество голов, используемых для многоголовного внимания.
  • attention_head_dim (int, по умолчанию 128) — Количество каналов в каждой голове.
  • num_layers (int, по умолчанию 20) — Количество используемых блоков dual-stream.
  • num_single_layers (int, по умолчанию 40) — Количество слоев однопоточных блоков, которые следует использовать.
  • num_refiner_layers (int, по умолчанию 2) — Количество используемых слоёв блоков refiner.
  • mlp_ratio (float, по умолчанию 4.0) — Соотношение размера скрытого слоя к размеру входа в полносвязной сети.
  • patch_size (int, по умолчанию 2) — Размер пространственных патчей, используемых в слое встраивания патчей.
  • patch_size_t (int, по умолчанию 1) — Размер временных патчей, используемых в слое встраивания патчей.
  • qk_norm (str, по умолчанию rms_norm) — Тип нормализации, применяемой к проекциям запроса и ключа в слоях внимания.
  • guidance_embeds (bool, по умолчанию True) — Использовать ли guidance embeddings в модели.
  • text_embed_dim (int, по умолчанию 4096) — Входное измерение текстовых эмбеддингов от текстового энкодера.
  • pooled_projection_dim (int, по умолчанию 768) — Размерность пул-проекции текстовых эмбеддингов.
  • rope_theta (float, по умолчанию 256.0) — Значение theta, используемое в слое RoPE.
  • rope_axes_dim (tuple[int], по умолчанию (16, 56, 56)) — Размерности осей, используемых в слое RoPE.
  • image_condition_type (str, необязательный, по умолчанию None) — Тип используемого условного изображения. Если None, условное изображение не используется. Если latent_concat, изображение конкатенируется с латентным потоком. Если token_replace, изображение используется для замены токенов первого кадра в латентном потоке и применения условного воздействия.

Модель Transformer, используемая в HunyuanImage-2.1.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: Tensortimestep_r: typing.Optional[torch.LongTensor] = Noneencoder_hidden_states_2: typing.Optional[torch.Tensor] = Noneencoder_attention_mask_2: typing.Optional[torch.Tensor] = Noneguidance: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Параметры

  • hidden_states (torch.Tensor формы (batch_size, num_channels, height, width) или (batch_size, num_channels, num_frames, height, width)) — Входные hidden_states.
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • encoder_hidden_states (torch.Tensor формы (batch_size, sequence_len, embed_dims)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • encoder_attention_mask (torch.Tensor) — Маска, применяемая к encoder_hidden_states во время внимания.
  • timestep_r (torch.LongTensor, необязательный) — Условие по шагу времени для Refiner.
  • encoder_hidden_states_2 (torch.Tensor, необязательный) — Дополнительные условные эмбеддинги, вычисленные из второго текстового энкодера.
  • encoder_attention_mask_2 (torch.Tensor, необязательный) — Маска, применяемая к encoder_hidden_states_2 во время внимания.
  • guidance (torch.Tensor, необязательный) — Встраивание масштаба руководства, используемое для вариантов модели, дистиллированных с помощью руководства.
  • attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

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

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