Diffusers documentation

HunyuanDiT2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HunyuanDiT2DModel

Hunyuan-DiTの2次元データ向けのDiffusion Transformerモデルです。

HunyuanDiT2DModel

class diffusers.HunyuanDiT2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Nonepatch_size: int | None = Noneactivation_fn: str = 'gelu-approximate'sample_size = 32hidden_size = 1152num_layers: int = 28mlp_ratio: float = 4.0learn_sigma: bool = Truecross_attention_dim: int = 1024norm_type: str = 'layer_norm'cross_attention_dim_t5: int = 2048pooled_projection_dim: int = 1024text_len: int = 77text_len_t5: int = 256use_style_cond_and_image_meta_size: bool = True )

パラメータ

  • num_attention_heads (int、任意、デフォルトは 16)— マルチヘッドアテンションで使用するヘッドの数。
  • attention_head_dim (int、任意、デフォルト値は 88) — 各ヘッドのチャネル数です。
  • in_channels (int, 省略可) — 入力および出力のチャネル数(入力が連続値の場合に指定します)。
  • patch_size (int, 省略可) — 入力に使用するパッチのサイズです。
  • activation_fn (str、任意、デフォルトは"geglu") — フィードフォワード層で使用する活性化関数。
  • sample_size (int, 任意) — 潜在画像の幅です。これは位置埋め込みの数を学習するために使用されるため、学習中は固定されます。
  • dropout (float、任意、デフォルト値は 0.0) — 使用する dropout の確率です。
  • cross_attention_dim (int, 任意) — CLIP テキスト埋め込みの次元数です。
  • hidden_size (int, 任意) — 条件付け埋め込み層の隠れ層のサイズです。
  • num_layers (int、任意、デフォルトは 1) — 使用する Transformer ブロックの層数です。
  • mlp_ratio (float、任意、デフォルト値は 4.0) — 隠れ層のサイズと入力サイズの比率です。
  • learn_sigma (bool、省略可、デフォルトはTrue) — 分散を予測するかどうか。
  • cross_attention_dim_t5 (int、任意) — t5 テキスト埋め込みの次元数です。
  • pooled_projection_dim (int, 任意) — プーリングされた投影のサイズです。
  • text_len (int, 任意) — クリップのテキスト埋め込みの長さです。
  • text_len_t5 (int、任意) — T5 テキスト埋め込みの長さです。
  • use_style_cond_and_image_meta_size (bool, 任意) — スタイル条件と画像メタサイズを使用するかどうか。バージョン <=1.1 では True、バージョン >= 1.2 では False

HunYuanDiT: Transformerバックボーンを持つ拡散モデル。

diffusers のサンプラー StableDiffusionPipeline と互換性を持たせるために、ModelMixin と ConfigMixin を継承します。

enable_forward_chunking

< >

( chunk_size: int | None = Nonedim: int = 0 )

パラメータ

  • chunk_size (int, 任意) — フィードフォワード層のチャンクサイズです。指定しない場合、dim 次元の各テンソルに対してフィードフォワード層を個別に実行します。
  • dim (int, 任意、デフォルトは 0) — フィードフォワード計算をチャンク分割する次元を指定します。dim=0 (バッチ) または dim=1 (シーケンス長) のいずれかを選択してください。

フィードフォワードチャンク分割を使用するアテンションプロセッサを設定します。

forward

< >

( hidden_statestimestepencoder_hidden_states = Nonetext_embedding_mask = Noneencoder_hidden_states_t5 = Nonetext_embedding_mask_t5 = Noneimage_meta_size = Nonestyle = Noneimage_rotary_emb = Nonecontrolnet_block_samples = Nonereturn_dict = True )

パラメータ

  • hidden_states (torch.Tensor、形状 (batch size, dim, height, width)) — 入力テンソルです。
  • timestep ( torch.LongTensor, 任意) — デノイジングステップを示すために使用します。
  • encoder_hidden_states ( torch.Tensor、形状 (batch size, sequence len, embed dims)、任意) — クロスアテンション層用の条件付きエンベディングです。BertModel の出力です。
  • text_embedding_mask — torch.Tensor encoder_hidden_states に、(batch, key_tokens) の形状を持つアテンションマスクが適用されます。これは BertModel の出力です。
  • encoder_hidden_states_t5 ( torch.Tensor、形状 (batch size, sequence len, embed dims)、任意) — クロスアテンション層用の条件付きエンベディングです。これは T5 Text Encoder の出力です。
  • text_embedding_mask_t5 — torch.Tensor encoder_hidden_states に、(batch, key_tokens) の形状を持つアテンションマスクが適用されます。これは T5 Text Encoder の出力です。
  • image_meta_size (torch.Tensor) — 画像サイズを示す条件埋め込み
  • style — torch.Tensor: スタイルを示す条件埋め込み
  • image_rotary_emb (torch.Tensor) — アテンション計算時にクエリとキーのテンソルに適用する画像ロータリー埋め込み。
  • controlnet_block_samples (list of torch.Tensor, 任意) — 指定された場合、transformer ブロックの残差に追加されるテンソルのリストです。
  • return_dict — bool 辞書を返すかどうか。

HunyuanDiT2DModel の forward メソッド。

fuse_qkv_projections

< >

( )

融合された QKV 投影を有効にします。自己注意モジュールでは、すべての投影行列(つまり、クエリ、キー、バリュー)が融合されます。相互注意モジュールでは、キーとバリューの投影行列が融合されます。

> このAPIは🧪実験的です。

set_default_attn_processor

< >

( )

カスタムアテンションプロセッサを無効にし、デフォルトのアテンション実装を設定します。

unfuse_qkv_projections

< >

( )

有効化されている場合、融合された QKV 投影を無効にします。

> このAPIは🧪実験的です。

Update on GitHub