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

HunyuanImage2.1用のDiffusion Transformerモデルです。

モデルは、以下のコードスニペットで読み込むことができます。

from diffusers import HunyuanImageTransformer2DModel

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

HunyuanImageTransformer2DModel

class 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) — モデルでガイダンス埋め込みを使用するかどうか。
  • text_embed_dim (int、デフォルトは 4096) — テキストエンコーダーからのテキスト埋め込みの入力次元数。
  • pooled_projection_dim (int, デフォルトは 768) — テキスト埋め込みのプーリング投影の次元数です。
  • rope_theta (float、デフォルト値は 256.0) — RoPE レイヤーで使用する theta の値です。
  • rope_axes_dim (tuple[int]、デフォルトは (16, 56, 56)) — RoPE レイヤーで使用する軸の次元です。
  • image_condition_type (str、任意、デフォルトは None) — 使用する画像条件付けの種類です。None の場合は、画像条件付けは使用されません。latent_concat の場合は、画像が潜在ストリームに連結されます。token_replace の場合は、画像を使用して潜在ストリームの先頭フレームのトークンを置き換え、条件付けを適用します。

HunyuanImage-2.1で使用されるTransformerモデル。

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 の timestep 条件付けです。
  • encoder_hidden_states_2 (torch.Tensor、任意) — 2 つ目のテキストエンコーダーから計算される追加の条件付き埋め込み。
  • encoder_attention_mask_2 (torch.Tensor、任意) — アテンション処理中にencoder_hidden_states_2に適用されるマスク。
  • guidance (torch.Tensor、任意) — モデルのガイダンス蒸留版で使用するガイダンススケール埋め込み。
  • attention_kwargs (dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 内の AttentionProcessor に渡される kwargs 辞書です。
  • return_dict (bool、任意、デフォルトは True) — プレーンなタプルではなく ~models.transformer_2d.Transformer2DModelOutput を返すかどうか。

HunyuanImageTransformer2DModelのforwardメソッドです。

Transformer2DModelOutput

クラス diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

パラメータ

  • sample (torch.Tensor、形状 (batch_size, num_channels, height, width)、または Transformer2DModel が離散型の場合 (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states 入力を条件とする隠れ状態の出力です。離散型の場合、ノイズ除去されていない潜在ピクセルの確率分布を返します。

Transformer2DModelの出力です。

Update on GitHub